1. 程式人生 > 其它 >com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver的區別

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

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

application.yml中資料來源是這樣配置的:

第一反應就是記憶中連線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。
總結:
  • com.mysql.jdbc.Driver和mysql-connector-java 5一起用。
  • com.mysql.cj.jdbc.Driver和mysql-connector-java 6 一起用。