之前跑的好好的mybatis的demo,突然无效,连接数据库报错。
Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
这个错误,查阅网上,都说是权限问题,或者重置密码,但我之前才刚重新安装数据库,重设置密码,不应该出现这个问题。
后来,想到更换密码了,回去查看密码,因为使用了两种方式连接数据库,忽略了另一个密码的修改,改正如下:
/**
* 不使用XML配置文件生成SqlSession
* @return
*/
private static SqlSession createSqlSession(){
//通过创建properties的方式
Properties properties = new Properties();
properties.setProperty("driver", "com.mysql.jdbc.Driver");
properties.setProperty("url", "jdbc:mysql://localhost:3306/test");
properties.setProperty("username", "root");
properties.setProperty("password", "123456");
PooledDataSourceFactory pooledDataSourceFactory = new PooledDataSourceFactory();
pooledDataSourceFactory.setProperties(properties);
DataSource dataSource = pooledDataSourceFactory.getDataSource();
修改后,问题顺利解决。
与网上描述不同,密码错误,也会报YES错误,特此记录