数据库连接字符串

样式1

spring.datasource.url=jdbc:mysql://localhost:3306/gaox?characterEncoding=utf-8&useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai

套接字 参数说明 缺省值
jdbc:mysql 数据库类型
localhost:3306 数据库地址和端口
gaox 数据库名称
characterEncoding=utf-8 告诉数据库此次连接传输UTF8数据,项目为UTF8 数据库为其他编码,在持久化时会把项目UTF8的数据转换为数据库存储的格式;从数据库取数据同理
如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true
false
useSSL=false 使用ssh连接
useUnicode=true
**serverTimezone=Asia/Shanghai

| | | | user | 数据库用户名 | | | password | 连接密码 | | | 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 | | | | |

对应中文环境,通常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