Access denied for user 'xxx'@'localhost'

本文介绍了在使用Spring框架整合MyBatis时遇到的JDBC连接数据库失败的问题,包括详细的错误信息、可能涉及的文件及方法,并给出了配置文件示例与解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[java]  view plain  copy
  1. ### 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'  
  2. ### 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]  
  3. ### The error may involve com.ssm.blog.dao.CategoryDAO.getCategoryList  
  4. ### The error occurred while executing a query  
  5. ### 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  
  6.  com.mysql.jdbc.exceptions.jdbc4<span style="color:#FF0000;">.MySQLSyntaxErrorException: Access denied for user 'xxx'@'localhost' to database 'personal_blog'</span>  
  7.     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)  
  8.     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)  
  9.     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)  
  10.     at java.lang.reflect.Constructor.newInstance(Constructor.java:422)  
  11.     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)  
  12.     at com.mysql.jdbc.Util.getInstance(Util.java:386)  
  13.     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
  1. jdbc.driver=com.mysql.jdbc.Driver  
  2. jdbc.url=jdbc:mysql://localhost:3306/personal_blog?characterEncoding=utf-8  
  3. jdbc.username=用户名  
  4. jdbc.password=密码  

spring的配置:

[html]  view plain  copy
  1. <!--读取配置文件-->  
  2.     <context:property-placeholder location="classpath:db.properties" ignore-unresolvable="true"/>  
  3.     <!--从配置文件中获取数据源-->  
  4.     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  5.         <property name="driverClassName" value="${jdbc.driver}"/>  
  6.         <property name="url" value="${jdbc.url}"/>  
  7.         <property name="username" value="${jdbc.username}"/>  
  8.         <property name="password" value="${jdbc.password}"/>  
  9.     </bean>  

注意properties文件中的key叫 jdbc.username, 不能叫username或者是user,否则xml里会读取到系统环境变量而不是properties中的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值