java] view plain copy
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'personal_blog'
### The error may exist in file [E:\1715\ssm-blog-admin\target\ssm-blog-admin\WEB-INF\classes\com\ssm\blog\dao\mapper\CategoryMapper.xml]
### The error may involve com.ssm.blog.dao.CategoryDAO.getCategoryList
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'personal_blog'] with root cause
com.mysql.jdbc.exceptions.jdbc4<span style="color:#FF0000;">.MySQLSyntaxErrorException: Access denied for user 'xxx'@'localhost' to database 'personal_blog'</span>
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
Access denied for user 'xxx'@'localhost' to database 其中xxx可能是空字符串,也可能是乱码。出现这种异常的原因是登录数据库的用户名密码错误。检查用户名密码。另外,如果使用的是从properties文件中读取的配置信息,如ssh或ssm整合的时候:
db.properties[sql] view plain copy
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/personal_blog?characterEncoding=utf-8
jdbc.username=用户名
jdbc.password=密码
spring的配置:
[html]
<!--读取配置文件-->
<context:property-placeholder location="classpath:db.properties" ignore-unresolvable="true"/>
<!--从配置文件中获取数据源-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
注意properties文件中的key叫
jdbc.username,不能叫username或者是user,否则xml里会读取到系统环境变量而不是properties中的值