com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver的區別


本文轉載,原文鏈接

 com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver的區別_喝奶茶的妹妹不撩妹-CSDN博客_com.mysql.cj.jdbc.driver  https://blog.csdn.net/weixin_43770545/article/details/90486809

今天寫東西測試的時候發現一個問題,如下:

 

 

 application.yml中數據源是這樣配置的:

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/springboot-mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.jdbc.Driver

第一反應就是記憶中連接mysql的驅動不都是com.mysql.jdbc.Driver嗎?com.mysql.cj.jdbc.Driver是什么鬼?
后來查看了一下才知道 這個跟驅動的依賴版本有關

<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <scope>runtime</scope>
</dependency>

com.mysql.cj.jdbc.Driver是mysql-connector-java 6 中的特性,相比mysql-connector-java 5 多了一個時區:serverTimezone,把數據源配置的驅動改一下就好了

 

 

這樣啟動就不會再報: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.

 

使用UTC會有8小時的時差(中國快全球標准8小時,比如:全球標准當前是上午1點,中國時間則為上午9點),可設置為北京時間東八區GMT%2B8 或者上海時間Asia/Shanghai。

serverTimezone=Asia/Shanghai

url: jdbc:mysql://localhost:3306/springboot-mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai

 

總結:
  • com.mysql.jdbc.Driver和mysql-connector-java 5一起用。
  • com.mysql.cj.jdbc.Driver和mysql-connector-java 6 一起用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM