Mybatis_Plus配置數據源遇到的坑

最近看了一下Mybatis_Plus官方文檔,然後試着練習一下,測試的時候一直報錯,最後找出原因,mysql版本的問題。
先貼一下報錯內容

Sun Oct 14 00:45:30 CST 2018 WARN: Establishing SSL connection without server's identity verification is not 	recommended.
 According to 	MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. 
 For compliance with 	existing applications not using SSL the verifyServerCertificate property is set to 'false'. 
 You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

因爲我使用的是MySQL 8 的版本 所以數據源配置也得改一下 。

mysql 8 的數據源配置

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.username=root//你的用戶名.默認root

spring.datasource.password=123456//你的密碼.默認root

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/sell?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=UTC


mysql 5 的數據源配置

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.username=root//你的用戶名.默認root

spring.datasource.password=123456//你的密碼.默認root

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/sell?useUnicode=true&characterEncoding=utf-8&useSSL=false


二者差異

因爲高版本永遠是兼容低版本的,所以Mysql5使用Mysql8的配置也是可以,但是相反則會報錯。

Mysql 8 中spring.datasource.driver-class-name 的配置是

com.mysql.cj.jdbc.Driver

Mysql 5 的是

com.mysql.jdbc.Driver

Mysql8相比Mysql5 spring.datasource.ur 要多配置一個時區

serverTimezone=UTC

時區可以自己選擇 UTC是本地時間

碰到如上問題的解決方案

1.如上更改數據源配置
2.修改mysql驅動版本

<!-- mysql驅動,適用於 5.x版本-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.29</version>
</dependency>
<!-- mysql驅動,適用於 8.x版本-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.11</version>
</dependency>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章