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整合的时候:
[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中的值