jdbc.properties配置
jdbc.driver=com.mysql.cj.jdbc.Driver
说明:
MySQL5用的驱动是com.mysql.jdbc.Driver
jdbc.driver=com.mysql.cj.jdbc.Driver 是mysql-connection-java-6.x.jar以后的写法
版本不匹配便会报驱动类已过时的错误
参数说明:
user 数据库用户名(用于连接数据库)
passWord 用户密码(用于连接数据库)
useUnicode 是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true
characterEncoding 当useUnicode设置为true,给定编码,常用utf8,默认是:autodetect
autoReconnect 当数据库连接异常中断时,是否自动重新连接?
serverTimezone 连接数据库的时区信息
autoReconnectForPools 是否使用针对数据库连接池的重连策略
maxReconnects autoReconnect设置为true时,重试连接的次数
createDatabaseIfNotExist=true 连接数据库时如果没有库名自动创建
initialTimeout autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒
connectTimeout 和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,
socketTimeout socket操作(读写)超时,单位:毫秒。 0表示永不超时
failOverReadOnly 自动重连成功后,连接是否设置为只读?
zeroDateTimeBehavior “exception”, “round” and “convertToNull”,默认exception
maxRows 返回的最大行数,默认-1,不限制
autoDeserialize driver自动发现,并行化存储blob字段
allowMultiQueries 允许一个statement执行多个用;分割的sql,默认false
useSSL 连接MySQL 5.5.45+, 5.6.26+ or 5.7.6+默认为true,之前低版本为false
jdbc.url=jdbc:mysql://localhost:3306/gd_project?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
gd_project
数据库名称
characterEncoding=UTF-8
指定字符的编码、解码格式,例如:mysql数据库用的是gbk编码,而项目数据库用的是utf-8编码。这时候如果添加了useUnicode=true&characterEncoding=UTF-8
,那么作用有如下两个方面:
存数据时:
数据库在存放项目数据的时候会先用UTF-8格式将数据解码成字节码,然后再将解码后的字节码重新使用GBK编码存放到数据库中。
取数据时:
在从数据库中取数据的时候,数据库会先将数据库中的数据按GBK格式解码成字节码,然后再将解码后的字节码重新按UTF-8格式编码数据,最后再将数据返回给客户端。
serverTimezone=Asia/Shanghai
用来指定区时,springboot 2.0(包括高版本的jdk)如果不配置这个会报时区错误
useSSL=false
MySQL在高版本需要指明是否进行SSL连接;SSL协议提供服务主要:
1)认证用户服务器,确保数据发送到正确的服务器; .
2)加密数据,防止数据传输途中被窃取使用;
3)维护数据完整性,验证数据在传输过程中是否丢失;
当前支持SSL协议两层:
SSL记录协议(SSL Record Protocol):建立靠传输协议(TCP)高层协议提供数据封装、压缩、加密等基本功能支持
SSL握手协议(SSL Handshake Protocol):建立SSL记录协议用于实际数据传输始前通讯双进行身份认证、协商加密,算法、 交换加密密钥等。
&
:作为连接参数