报错:
Caused by: java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4208)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4140)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1747)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1287)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2494)
at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2332)
applicationContext-dao.xml
<!--加载配置文件-->
<!--数据库连接池-->
destroy-method="close">
1. sql的连接路径没看到, 不过这个原因无非就是连接中指定的用户名或者密码是错误的,using password=Yes是说登录mysql是要指定密码的
2. 代码中如果不好验证, 可以直接用mysql命令,mysql -u 用户名 -p密码, 尝试登录mysql,如果可以登录成功,那就说明是代码中连接写的有问题
3. 另外如果不是访问本机的mysqld的话, 也可能是因为在mysql中新建用户的时候,指定了登录主机,而当前主机不被允许登录导致的,查看用户的权限配置可以登录mysql后,执行show create user或者select * from mysql.user \G查看,\G是为了让语句以xml格式输出,方便查看,而不是普通的表格式,表格方式在表的列比较比较多或者比较长,超出终端宽度时,显示杂乱