springboot集成mybatis后密碼正確但數據庫連接失敗是怎么回事


springboot集成mybatis后數據庫連接失敗

問題描述:

1、datasource配置:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql:///testa
    username: root
    password: 0117
   
mybatis:
  mapper-locations: classpath:mybatis/mapper/*.xml
  type-aliases-package: com.offcn.entity
  configuration:
    map-underscore-to-camel-case: true

2、報錯信息:


3、分析問題

根據報錯提示,數據庫密碼存在問題,仔細檢查密碼無誤。

仔細檢查代碼:

(1)entity實例化對象名稱和數據庫表名稱一致

(2)mapper和mapper.xml代碼無誤,映射正確。

(3)service層調用和業務實現無誤

(4)controller代碼無誤,已使用@ResponseBody將對象轉化為JSON格式。

(5)pom引入的各種依賴的版本導入正常且版本不存在沖突或存在過高、過低的問題

分析一遍之后,發現代碼沒有問題,出問題的應該還是數據庫連接的地方。

再次檢查數據庫,cmd進入命令行檢查數據庫密碼:

mysql -uroot -p0117

成功連接數據庫,說明密碼確實不存在問題。

嘗試修改yml文件中的數據庫連接密碼:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql:///testa
    username: root
    password: 0117sqdf
    #type: com.alibaba.druid.pool.DruidDataSource
mybatis:
  mapper-locations: classpath:mybatis/mapper/*.xml
  type-aliases-package: com.study.entity
  configuration:
    map-underscore-to-camel-case: true

發現提示的錯誤一樣:

看來問題確實出在yml數據庫連接密碼這里。

解決方法

查詢資料發現,yml解析的時候,0開頭的數字,會把它當成8進制數據解析,所以會提示密碼錯誤.
解決方法:要么用'0117'(前提是密碼就是0117),要么改密碼(不用數字0開頭的密碼)


免責聲明!

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



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