想必新手小伙伴们对数据库连接后缀,都会有或多或少有一些疑问,下面跟着猿猿一起看看叭!
url: jdbc:mysql://127.0.0.1:3306/xxx
?useUnicode=true&characterEncoding=utf8
&autoReconnect=true
&allowMultiQueries=true
&useSSL=false
&serverTimezone=Asia/Shanghai
&allowPublicKeyRetrieval=true
1. useUnicode=true
- useUnicode=true 后面的配置 characterEncoding配置才能生效
- characterEncoding=utf-8的配置的作用主要配置的是mysql服务端的编码,mysql驱动的代码中,会将将要发送mysql服务端的sql使用characterEncoding指定的值进行转码,然后将转码后的字节发送到mysql服务端。建议我们characterEncoding这个值的配置尽量与mysql服务端的编码一致
2. autoReconnect=true
超时重连: 在使用mysql是的时候,如果超过8小时数据库没有操作,会自动断开连接。
3. allowMultiQueries=true
- 可以在sql语句后携带分号,实现多语句执行。
- 可以执行批处理,同时发出多个SQL语句。
- Mybatis映射文件中的sql语句默认是不支持以" ; " 结尾,也就是不支持多条sql语句的执行。需要在连接mysql的url上加 &allowMultiQueries=true 运行批量操作才可以进行。
4. useSSL=false
SSL:Secure Sockets Layer 安全套接字协议
- 在mysql进行连接的时候,如果mysql的版本是5.7之后的版本必须要加上useSSL=false,mysql5.7以及之前的版本则不用进行添加useSSL=false,会默认为false
- useSSL=true是进行安全验证,一般通过证书或者令牌什么的
- useSSL=false就是通过账号密码进行连接,通常使用useSSL=false
5. serverTimezone=Asia/Shanghai
serverTimezone 关于时区的设置 常见问题:从数据库返回的时间比真正保存的时间提前8小时。 解决:将 serverTimezone=UTC 改为 serverTimezone=Asia/Shanghai
6. allowPublicKeyRetrieval=true
允许客户端从服务器获取公钥
评论区