可以使用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编码的字符等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)