com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别以及设定serverTimezone
作者:mmseoamin日期:2023-12-25

com.mysql.jdbc.Driver是MySQL早期版本的JDBC驱动程序,而com.mysql.cj.jdbc.Driver是MySQL Connector/J 5.1.37及更高版本的JDBC驱动程序。两者主要的区别是com.mysql.cj.jdbc.Driver默认使用UTF-8字符集,而com.mysql.jdbc.Driver默认使用LATIN1字符集。此外,com.mysql.cj.jdbc.Driver支持更多的JDBC 4.2特性。

设定serverTimezone是为了解决与MySQL服务器时区不一致的问题。如果未指定时区,则可能会在使用日期和时间函数时出现不正确的结果。

在使用com.mysql.cj.jdbc.Driver时,可以通过在JDBC URL中指定serverTimezone参数来设置时区,如:

jdbc:mysql://localhost:3306/mydatabase?serverTimezone=UTC

其中,UTC是表示协调世界时的时区,可以根据实际情况替换为其他时区。在使用com.mysql.jdbc.Driver时,可以通过设置useUnicode=true和characterEncoding=UTF-8来指定字符集,如:

jdbc:mysql://localhost:3306/mydatabase?useUnicode=true&characterEncoding=UTF-8