1. 程式人生 > >mybatis逆向工程出現的問題

mybatis逆向工程出現的問題

一個 jdbc 規則 myba protoc set received 而在 encoding

在IDEA中,進行mybatis逆向工程生成代碼時,出現了一些令人苦惱的問題,老是連接出現問題,然而Navicat卻是可以正常連接MySql8.0.11的,經過不斷的嘗試,終於解決了問題。

0、其實一開始安裝好Navicat創建數據庫連接,點擊連接測試測試時,就出現了問題:1251- Client does not support authentication protocol。

網上百度了下:

原因:mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之後,加密規則是caching_sha2_password。

解決方案:方法1.升級navicat驅動。

     方法2.把mysql用戶登錄密碼加密規則還原成mysql_native_password。

WIN+R,cmd,然後輸入mysql -u root -p,輸入密碼,

ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER; #修改加密規則

ALTER USER ‘root‘@‘localhost‘ IDENTIFIED WITH mysql_native_password BY ‘password‘; #更新一下用戶的密碼

FLUSH PRIVILEGES; #刷新權限

Navicat重新連接,就能成功了。

1、Could not create connection to database server. Attempted reconnect 3 times. Giving up

這是出現的第一個錯誤,數據庫連接都無法創建,首先進行確認連接地址、用戶名和密碼是否正確

技術分享圖片

確認無誤後,網上找到問題說可能是jdbc-connector的jar包版本的問題,於是就將jar包版本升級了下

技術分享圖片,試了2次之後,又出現了其他問題。。。。。。

2、出現連接數據庫地址權限問題,百度下可以找到解決方案,為MySql訪問權限中添加客戶端ip地址。

3、Unknown initial character set index ‘255‘ received from serve.Initial client character set can be forced via the ‘characterEncoding‘ property.。

這是出現的最後一個問題,我在jdbcConnection的connectionURL的後面添加了“?useUnicode=true&useSSL=false&autoReconnect=true&characterEncoding=UTF-8”,就解決了。

總結:其實還有關於MySql的SSL的配置問題沒有寫,這是在查找問題的時候看到的,順便了解了下,是關於MySql數據加密相關的,下次有空可以深入學習配置下,另外,解決問題的過程中不要急躁,要耐心,總有解決的時候,雖然花了很長的時間。

mybatis逆向工程出現的問題