如何连接MySQL数据库

如何连接MySQL数据库,第1张

可以使用MySQL推出的MySQLConnector/Net组件,该组件是MySQL为ADONET访问MySQL数据库设计的NET专用访问组件,完成该组件后,需要在项目中引用这个组件,之后在程序中引用命名空间MySqlDataMySqlClient,即可开始进行连接MySQL数据库的 *** 作了,示例如下:

protected

voidMySqlCon()

{

//数据库连接字符串跟连接SQLSERVER没有区别

string

constr

=

"server=localhost;UserId=root;password=root;Database=test";

//下面使用MySql

Connector/net提供的专用对象

MySqlConnection

mycon

=

new

MySqlConnection(constr);

myconOpen();

MySqlCommandmycmd

=

new

MySqlCommand("select

from

users",

mycon);

MySqlDataReader

myreader

=

mycmdExecuteReader();

while

(myreaderRead())

{

if

(myreaderHasRows)

{

MessageBoxShow(myreaderGetString("email")

);

}

}

myreaderClose();

myconClose();

可以使用mysql推出的mysqlconnector/net组件,该组件是mysql为adonet访问mysql数据库设计的net专用访问组件,完成该组件后,需要在项目中引用这个组件,之后在程序中引用命名空间mysqldatamysqlclient,即可开始进行连接mysql数据库的 *** 作了,示例如下:

protected

voidmysqlcon()

{

//数据库连接字符串跟连接sqlserver没有区别

string

constr

=

"server=localhost;userid=root;password=root;database=test";

//下面使用mysql

connector/net提供的专用对象

mysqlconnection

mycon

=

new

mysqlconnection(constr);

myconopen();

mysqlcommandmycmd

=

new

mysqlcommand("select

from

users",

mycon);

mysqldatareader

myreader

=

mycmdexecutereader();

while

(myreaderread())

{

if

(myreaderhasrows)

{

messageboxshow(myreadergetstring("email")

);

}

}

myreaderclose();

myconclose();

utf8编码可以支持一到4字节的字符编码,在mysql用我们一般使用utf8编码来处理字符类型,通常情况下都没有问题,但遇到4字节编码的字符,在数据存取的时候就会有问题了。

通常我们可能会得到一个错误或者警告:Incorrect

string

value:

'\xF0\x9D\x8C\x86'

for

column

Mysql

从553版本开始支持4字节的utf8编码,如果你的Mysql数据库是553+,按照以下步骤就能解决这个问题,如果版本低于553,是不是可以考虑升级数据库版本呢?

1、在修改数据库编码前先对数据库备份(虽然utf8mb4兼容utf8,但有备无患)

2、修改数据库的编码、表的编码、列的编码为utf8mb4

3、在Mysql数据库配置文件(myini)中加入如下设置

[client]

default-character-set

=

utf8mb4

[mysql]

default-character-set

=

utf8mb4

[mysqld]

character-set-client-handshake

=

FALSE

character-set-server

=

utf8mb4

collation-server

=

utf8mb4_unicode_ci

重新启动Mysql数据库,确认设置生效

mysql>

show

VARIABLES

like

'%char%';

+--------------------------+----------------------------------------+

|

Variable_name

|

Value

|

+--------------------------+----------------------------------------+

|

character_set_client

|

utf8

|

|

character_set_connection

|

utf8

|

|

character_set_database

|

utf8mb4

|

|

character_set_filesystem

|

binary

|

|

character_set_results

|

utf8

|

|

character_set_server

|

utf8mb4

|

|

character_set_system

|

utf8

|

|

character_sets_dir

|

/home/app/mysql-5533/share/charsets/

|

+--------------------------+----------------------------------------+

8

rows

in

set

4、在获取数据库连接的时候执行sql:set

names

utf8mb4;我使用的是alibaba的开源数据库连接池程序,在配置文件中增加一行如下配置

<property

name="connectionInitSqls"

value="set

names

utf8mb4;"

/>

重新启动应用程序,问题解决,转载,仅供参考。

Java要连接数据库,那么首先你必须安装mysql数据库。

安装好mysql之后,安装JDK了。

安装好JDK之后,就是安装Eclipse了,要支持JDK版本,Eclipse安装的时候会自动去找JDK安装位置的,解压版的Eclipse,就要配置eclipseini文件了,将对应的JDK配置好,这些已经准备就绪的时候,就到mysql中创建数据库和表。

先创建数据库:

CREATE DATABASE SCUTCS;

接着,创建表:

CREATE TABLE STUDENT

(

SNO CHAR(7) NOT NULL,

SNAME VARCHAR(8) NOT NULL,

SEX CHAR(2) NOT NULL,

BDATE DATE NOT NULL,

HEIGHT DEC(5,2) DEFAULT 00000,

PRIMARY KEY(SNO)

);

然后插入数据,可以用SQL语句insert into <表名> values           (value1, value2, );

编写java文件来演示一下如何访问MySQL数据库。

import javasql;

public class JDBCTest {

public static void main(String[] args){

// 驱动程序名           String driver = "commysqljdbcDriver";

// URL指向要访问的数据库名scutcs           String url = "jdbc:mysql://127001:3306/scutcs";

// MySQL配置时的用户名           String user = "root";              // MySQL配置时的密码           String password = "root";

try {             // 加载驱动程序            ClassforName(driver);

// 连续数据库            Connection conn = DriverManagergetConnection(url, user, password);

if(!connisClosed())              Systemoutprintln("Succeeded connecting to the Database!");

// statement用来执行SQL语句            Statement statement = conncreateStatement();

// 要执行的SQL语句            String sql = "select from student";

// 结果集            ResultSet rs = statementexecuteQuery(sql);

while(rsnext())              // 选择sname这列数据             name = rsgetString("sname

// 输出结果             Systemoutprintln(rsgetString("sno") + "\t" + name);            }

rsclose();            connclose();

} catch(ClassNotFoundException e) {

Systemoutprintln("Sorry,can`t find the Driver!");             eprintStackTrace();

} catch(SQLException e) {

eprintStackTrace();

} catch(Exception e) {

eprintStackTrace();

} } }

不会的,java实体类id为string,mysql中id就为varchar

最好实体类和数据库类型统一,比如mysql中表id为int, 则实体类中也为int或Integer;

这其实不是什么问题,因为现在都是自动生成的,根据mysql数据表自动生成实体类,或根据实体类生成表,

以上就是关于如何连接MySQL数据库全部的内容,包括:如何连接MySQL数据库、mysql数据库软件怎么使用,如何连接数据、如何在mysql中存取utf8mb4编码的字符等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9546141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存