Spring 4.x遇到的連線資料庫拒絕訪問
阿新 • • 發佈:2019-02-07
使用了Spring JdbcTemplate連線資料庫, 提示 ‘Access denied for user ‘lil’@’192.168.3.104’ (using password: YES)’ , 問題記錄與解決
使用了兩種方法連線資料庫
使用Java讀取properties配置檔案讀取資料庫配置(沒有使用spring情況下)
public static Connection getConnection() {
InputStream db = JDBCUtil.class.getClassLoader().getResourceAsStream("db.properties" );
// 使用Properties類讀取properties檔案
Properties properties = new Properties();
Connection connection = null;
try {
properties.load(db);
String driverClass = properties.getProperty("driverClass");
String url = properties.getProperty("url" );
String user = properties.getProperty("user");
String passWord = properties.getProperty("password");
Class.forName(driverClass);
connection = DriverManager.getConnection(url, user, passWord);
} catch (Exception e) {
e.printStackTrace();
}
return connection;
}
配置檔案
driverClass = com.mysql.jdbc.Driver
url = jdbc:mysql://192.168.3.106/spring_data?characterEncoding=utf-8&useSSL=false
user = root
password = 123456
這樣沒有任何問題, 可以正常查詢, 和儲存資料.
使用Spring JdbcTemplate時, 異常如下(圖片可以右鍵新標籤開啟, 打碼的名字不重要, 就碼了)
百思不得其解之後, 我把配置檔案改成了這樣(前邊加了一個字首)
jdbc.driverClass = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://192.168.3.106/spring_data?characterEncoding=utf-8&useSSL=false
jdbc.user = root
jdbc.password = 123456
竟然, 好了, 好了. 原因就是因為電腦系統把配置檔案中的user
識別成了我電腦的使用者名稱, 所以加了一個字首, 寫成jdbc.user = root
問題就解決了, 自己寫的DEMO, 記錄一下(原創) .