zoukankan      html  css  js  c++  java
  • Spring整合Mybaits java.sql.SQLException: Access denied for user '***'@'localhost' (using password: YES)

    最近在搞Spring和Mybatis的整合,当我们在Spring里面配置数据源,而数据源是从外部的properties文件读取过来的时候就会报错

    java.sql.SQLException: Access denied for user 'Rebirth'@'localhost' (using password: YES)

    db.properties

    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql:///test
    username=root
    password=admin

    spring的数据源配置代码

     <!--  加载数据库属性配置文件  -->
        <context:property-placeholder location="classpath:db.properties"/>
    
        <!--  配置数据源 -->
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="${driver}"/>
            <property name="url" value="${url}"/>
            <property name="username" value="${username}"/>
            <property name="password" value="${password}"/>
        </bean>

    查找原因后发现,就是因为配置数据库用户名username可能和系统环境变量的某些关键字的冲突,导致了spring读取到的值是系统所有人的用户名

    那么我们只需要把 数据库配置文件里面的properties的username改为任意的其它:例如name

    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql:///test
    name=root
    password=admin
    <!--  配置数据源 -->
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="${driver}"/>
            <property name="url" value="${url}"/>
            <property name="username" value="${name}"/>
            <property name="password" value="${password}"/>
        </bean>

    完美解决

  • 相关阅读:
    结对编程——四则运算
    需求分析
    结对编程
    调查问卷的心得体会
    软件工程课初步目标
    软件工程课程建议
    结对编程--fault,error,failure
    结对编程--四则运算
    需求分析
    结对编程
  • 原文地址:https://www.cnblogs.com/arebirth/p/javaspringex1.html
Copyright © 2011-2022 走看看