之前跑的好好的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错误,特此记录