1. 程式人生 > 實用技巧 >mybatis或hibernate框架連線資料庫報錯:java.sql.SQLException: Access denied for user 'Administrator'@'localhost' (using password: YES)

mybatis或hibernate框架連線資料庫報錯:java.sql.SQLException: Access denied for user 'Administrator'@'localhost' (using password: YES)

報錯資訊:

java.sql.SQLException: Access denied for user 'Administrator'@'localhost' (using password: YES)

嚴重: create connection SQLException, url: jdbc:mysql://localhost:3306/db2?&useSSL=false&serverTimezone=UTC, errorCode 1045, state 28000
java.sql.SQLException: Access denied for user 'Administrator
'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:
122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:
199) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644) at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710) at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2753)

明明密碼對的,被拒絕了,找了好久原因,後來發現將db.properties配置檔案裡的username改為jdbc.username就好了,可能是因為username被系統變數佔用了。
當spring容器在進行啟動的時候,會讀取當前系統某些環境變數的配置,當前系統的使用者名稱使用username來表示的,所以做好的方式是新增字首,使用jdbc.username.

jdbc.username=root
jdbc.password=root
jdbc.url=jdbc:mysql://localhost:3306/db2?&useSSL=false&serverTimezone=UTC
jdbc.driverClassName=com.mysql.cj.jdbc.Driver

轉:https://www.cnblogs.com/tyhA-nobody/p/13166892.html