jdbc链接不加参数可能导致的问题
jdbcUrl = jdbc:mysql://xxx:3306/database
mysql8.0配置,在xml和class中&是读不出的,正确写法将&转义为&
存在的问题:
1、MySQL在高版本需要指明是否进行SSL连接
2、中文乱码问题
3、时间与服务器时间不一致
4、add/update/delete返回匹配行数的问题,而非受影响行数问题。
解决办法
1、MySQL在高版本需要指明是否进行SSL连接
jdbcUrl中添加useSSL=true,如下:
jdbcUrl = jdbc:mysql://xxx:3306/database?useSSL=true
2、中文乱码问题
jdbcUrl中添加useUnicode=true&characterEncoding=utf8,如下:
jdbcUrl = jdbc:mysql://xxx:3306/database?useSSL=true&useUnicode=true&characterEncoding=utf8
3、数据库与服务器时间不一致问题
方法1、jdbc驱动链接修改默认时区
jdbcUrl中添加时区设置serverTimezone=Asia/Shanghai
jdbcUrl = jdbc:mysql://xxx:3306/database?useSSL=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
方法2、修改服务器mysql默认时区
显示当前时区:show variables like '%time_zone%';
查看mysql当前时间:select now();
临时修改:
set global time_zone = '+8:00';
flush privileges;
永久修改:
修改my.cnf配置文件。
4、add/update/delete返回匹配行数的问题,而非受影响行数问题