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>

    完美解决

  • 相关阅读:
    Hadoop专有名词
    mapreduce的cleanUp和setUp的特殊用法(TopN问题)和常规用法
    Hadoop 中文编码相关问题 -- mapreduce程序处理GBK编码数据并输出GBK编码数据
    MapReduce核心
    技术提升
    Linq使用group by
    C#中DllImport用法
    mysql分组后将未分组的列合并成行GROUP BY,GROUP_CONCAT
    MVC之CodeFirst
    MVC的Forms登录验证
  • 原文地址:https://www.cnblogs.com/arebirth/p/javaspringex1.html
Copyright © 2011-2022 走看看