Access denied for user 'xxx'@'localhost'

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中的值



猜你喜欢

转载自blog.csdn.net/abraham_bug/article/details/78988932