最新版MySQL数据库驱动的问题

最新版MySQL数据库驱动的问题

问题1 驱动名称不对

1
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

解决方案

将数据库驱动名称com.mysql.jdbc.Driver改成com.mysql.cj.jdbc.Driver

问题2 没有指定时区

1
SQLException : java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

解决方案

1
jdbcUrl=jdbc:mysql://localhost:3306/spring

后面加上?serverTimezone=UTC,如下所示:

1
jdbcUrl=jdbc:mysql://localhost:3306/spring?serverTimezone=UTC

问题3 查询字符串分隔符没有使用转义字符

如果有多个查询字符串要用&隔开,并且&要转义成&
但如果你的jdbcUrl类似下面:
jdbcUrl=jdbc:mysql://localhost:3306/spring?serverTimezone=UTC&characterEncoding=utf-8
就是有多个params的时候需要以&分开,但&要改为& 如下:
jdbc:mysql://localhost:3306/spring?serverTimezone=UTC&characterEncoding=utf-8

不需要转义的情况

经过为的实践,也不一定都要对&进行转义,在使用Mybatis时,如果把URL写在.properties文件中,然后在mybatis配置文件中通过${}来引用,这种情况下不需要对URL中&进行转义.