最近看了一下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>