MySQLJDBCURL各参数详解通常MySQL连接URL可以设置为:
jdbc:mysql://localhost:3306/test?user=root&password=123456&useUnicode=true&characterEncoding=gbk &autoReconnect=true&failOverReadOnly=false&serverTimezone=UTC&driver=Driver
注:test 是数据库名;user 指定登录⽤户名;password 指定密码。
参数介绍
参数名称参数说明缺省
值
最低版本要
求
user数据库⽤户名(⽤于连接数据库)password⽤户密码(⽤于连接数据库)
useUnicode 是否使⽤Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须
设置
为true
false 1.1g
useSSL MySQL在⾼版本需要指明是否进⾏SSL连接 在mysql连接字符串url中加⼊ssl=true或者false即可characterEncoding当useUnicode设置为true时,指定字符编码。⽐如可设置为gb2312或gbk false 1.1g autoReconnect当数据库连接异常中断时,是否⾃动重新连接?false 1.1 autoReconnectForPools是否使⽤针对数据库连接池的重连策略false 3.1.3 failOverReadOnly⾃动重连成功后,连接是否设置为只读?true 3.0.12 maxReconnects autoReconnect设置为true时,重试连接的次数3 1.1 initialTimeout autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒2 1.1
parameter数据类型connectTimeout 和数据库服务器建⽴socket连接时的超时,单位:毫秒。 0表⽰永不超时,适⽤于JDK 1.4及更⾼版
本
0 3.0.1
socketTimeout socket操作(读写)超时,单位:毫秒。 0表⽰永不超时0 3.0.1 allowMultiQueries mysql驱动开启批量执⾏sql的开关false
serverTimezone 设置时区 例如 serverTimezone=UTC(统⼀标准世界时间)或serverTimezone=Asia/Shanghai(中国时区)
tinyInt1isBit 如果tinyInt1isBit =true(默认),且tinyInt存储长度为1 ,则转为java.lang.Boolean 。否则转为
java.lang.Integer。
true
中⽂环境中,characterEncoding配置为gbk
出现中⽂乱码时,解决办法就是:useUnicode=true&characterEncoding=UTF-8
UTC是统⼀标准世界时间
如果tinyInt1isBit =true(默认),且把数据类型tinyInt存储长度设为1,那么数据库tinyInt类型会⾃动转成
Java的Boolean,否则⾃动转成Java的Integer。如果希望转成Java的整数型,则将tinyInt1isBit设为false,或者把tinyInt的长度设为⼤于1,即tinyInt(N), N>1,例如tinyInt(2)。也就是说,默认情况下,把字段的数据类型定义为tinyInt(1) ,是⽤来代表Boolean含义的字段,对应的是Java的Boolean类型,如果插⼊true,数据库会⾃动保存1,插⼊false数据库会⾃动保存0
inyInt1isBit参数名区分⼤⼩写,否则不⽣效
在使⽤数据库连接池的情况下,最好设置如下两个参数:
autoReconnect=true&failOverReadOnly=false
在xml配置⽂件中,url中的&符号需要转义成& ;。⽐如在tomcat的l中配置数据库连接池时,MySQL JDBC URL如下:
jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk &autoReconnect=true&failOverReadOnly=false
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论