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>

    完美解决

  • 相关阅读:
    「LOJ #6500」「雅礼集训 2018 Day2」操作
    「CEOI2013」Board
    CF407B Long Path
    poj 2503 Babelfish 用trie树做
    poj 3414 Pots搜索BFS
    POJ2001 Shortest Prefixes 用trie树实现
    poj3630Phone List用trie树实现
    poj1797Heavy Transportation最大生成树
    hoj题双重筛法
    poj1338 Ugly Numbers
  • 原文地址:https://www.cnblogs.com/arebirth/p/javaspringex1.html
Copyright © 2011-2022 走看看