正文
实际工作中遇到了中文数据乱码,记录一下这个。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
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《MySQLJDBC连接串参数》
文章链接: https://www.sgtms.com/other/95.html
本站资源仅供个人学习交流,转载或者引用本文内容请注明来源及作者,不允许用于商业用途。
文章名称:《MySQLJDBC连接串参数》
文章链接: https://www.sgtms.com/other/95.html
本站资源仅供个人学习交流,转载或者引用本文内容请注明来源及作者,不允许用于商业用途。
网友评论抢沙发