千家信息网

数据库之-------Mysql(JDBC实现&解决存储乱码问题)

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,数据库之-------Mysql(JDBC实现&解决存储乱码问题)1、乱码问题的解决很简单啦!首先在建立数据库的时候要指定字符集为utf-8,然后再进行JDBC编程的时候,在下面代码的url后面加上参
千家信息网最后更新 2026年11月01日数据库之-------Mysql(JDBC实现&解决存储乱码问题)


数据库之-------Mysql(JDBC实现&解决存储乱码问题)



1、乱码问题的解决很简单啦!

首先在建立数据库的时候要指定字符集为utf-8,然后再进行JDBC编程的时候,在下面代码的url后面加上参数characterEncoding即可!更多关于url参数的设置可以查看mysql官网文档:

http://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html


2、MySQL的 JDBC URL 格式 for Connector/J 如下例:

jdbc:mysql://[host][,failoverhost...][:port]/[database]
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

jdbc:mysql://[host:port],[host:port].../[database]
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

实例:
jdbc:mysql://localhost:3306/sakila?profileSQL=true

package java_data_jdbc;



现只列举几个重要的参数,如下表所示:

参数名称参数说明缺省值最低版本要求
user数据库用户名(用于连接数据库)
所有版本
password用户密码(用于连接数据库)
所有版本
useUnicode是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为truefalse1.1g
characterEncoding当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbkfalse1.1g
autoReconnect当数据库连接异常中断时,是否自动重新连接?false1.1
autoReconnectForPools是否使用针对数据库连接池的重连策略false3.1.3
failOverReadOnly自动重连成功后,连接是否设置为只读?true3.0.12
maxReconnectsautoReconnect设置为true时,重试连接的次数31.1
initialTimeoutautoReconnect设置为true时,两次重连之间的时间间隔,单位:秒21.1
connectTimeout和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,适用于JDK 1.4及更高版本03.0.1
socketTimeoutsocket操作(读写)超时,单位:毫秒。 0表示永不超时03.0.1

对应中文环境,通常mysql连接URL可以设置为:
jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk&autoReconnect=true&failOverReadOnly=false

在使用数据库连接池的情况下,最好设置如下两个参数:
autoReconnect=true&failOverReadOnly=false

需要注意的是,在xml配置文件中,url中的&符号需要转义成&。比如在tomcat的server.xml中配置数据库连接池时,mysql jdbc url样例如下:
jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk
&autoReconnect=true&failOverReadOnly=false



3、代码如下:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Jdbc_01 {                public static void main(String[] args) {                                String userName = "root";                String password = "root";                /*                 * 这个url的格式后面是可以带很多参数的,详细请参考mysql官网http://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html                 */                String url = "jdbc:mysql://localhost:3306?characterEncoding=utf-8&useSSL=true";                String sql1 = "Select * from Class";                String sql = "INSERT INTO Class (name,age) VALUES ('你好','21')";                try {                                                /*                         * 这个驱动的写法有两种,两者是继承关系,还有是:org.gjt.mm.mysql.Driver                         */                        Class.forName("com.mysql.jdbc.Driver");                                                Connection conn = DriverManager.getConnection(url, userName, password);                                                Statement stmt = conn.createStatement();                                                stmt.execute("use student;");                        stmt.execute(sql);                                                ResultSet res = stmt.executeQuery(sql1);                                                while(res.next()){                                String id = res.getString("id");                                String name = res.getString("name");                                int age = res.getInt("age");                                                                System.out.println("序号: "+id + "  " +"姓名: "+ name + "  "+ age+"岁!");                        }                } catch (Exception e) {                        e.printStackTrace();                }        }}

部分资料来源:http://elf8848.iteye.com/blog/1684414

数据 数据库 参数 版本 单位 字符 乱码 问题 代码 时候 格式 永不 用户 配置 存储 最低 重要 成功 两个 之间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 平安科技 互联网 苏州互联网科技贷款公司 易通互联网络科技有限公司 老年人脱离互联网科技的作文 玖二柒互联网科技公司待遇 剑昆互联网络科技有限公司临桂 移动互联网科技股 千方科技属于互联网企业吗 洛阳昕诺飞互联网科技有限公司 华夏恒生互联网科技013171 用友工业互联网科技发展 产业互联网科技服务公司 互联网安防科技感 互联网科技包装股 普陀区互联网教育科技管理办法 保山互联网科技靠谱吗 互联网大会出现的黑科技 高科技和互联网的现代国家 利用互联网等科技手段 深圳九邦互联网科技有限公司 互联网科技缩写 易通互联网络科技有限公司 卓越科技互联网 招聘 上海电发互联网科技有限公司 深圳国际航运科技和互联网 崇明区互联网教育科技诚信经营 互联网公司黑科技创始人 科技信息时代互联网发展 黑龙江互联网科技公司
0