使用了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, 记录一下(原创) .