SGTMS

做事情
我们是认真的
您的位置:SGTMS>其他>MySQLJDBC连接串参数

MySQLJDBC连接串参数

正文

实际工作中遇到了中文数据乱码,记录一下这个。MySQL的JDBC URL格式如下:

jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]...

现列举⼏个重要的参数,如下所⽰:

参数说明 缺省值
user 数据库⽤户名(⽤于连接数据库)
password ⽤户密码(⽤于连接数据库)
useUnicode 是否使⽤Unicode字符集,如果参数 characterEncoding设置为gb2312或gbk,本参数值必须设置为true false
characterEncoding 当useUnicode设置为true时,指定字符编码。⽐如可设置为gb2312或gbk false
autoReconnect 当数据库连接异常中断时,是否⾃动重新连接? false
autoReconnectForPools 是否使⽤针对数据库连接池的重连策略 false
failOverReadOnly ⾃动重连成功后,连接是否设置为只读? true
maxReconnects autoReconnect设置为true时,重试连接的次数 3
initialTimeout autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒 2
connectTimeout 和数据库服务器建⽴socket连接时的超时,单位:毫秒。0表⽰永不超时,适⽤于JDK 1.4及更⾼版本 0
socketTimeout socket操作(读写)超时,单位:毫秒。0表⽰永不超时 0

对应中⽂环境,通常连接URL可以设置为:

jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf-8&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=utf-8&autoReconnect=true&failOverReadOnly=false

其他参数请参见mysql jdbc官⽅⽂档:https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html

本文最后更新于2022-6-9,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《MySQLJDBC连接串参数》
文章链接: https://www.sgtms.com/other/95.html
本站资源仅供个人学习交流,转载或者引用本文内容请注明来源及作者,不允许用于商业用途。
分享到:

相关推荐

网友评论抢沙发

路人甲 表情
Ctrl+Enter快速提交