连接mysql账户名密码错误的问题

使用c3p0, 配置jdbc参数,连接数据库失败)

错误信息

// 错误信息
 java.sql.SQLException:
  	Access denied for user 'Administrator'@'localhost' (using password: YES)

错误配置如下

// jdbc.properties 文件中的配置
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/seckill?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=UTC
//注意这里! 用户名的key定义成username
username=root
password=123456
<!--  c3p0连接池  -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    	<!--    ognl取值方式    -->
        <property name="driverClass" value="${driver}"/>
        <property name="jdbcUrl" value="${url}"/>
        <property name="user" value="${username}"/>
        <property name="password" value="${password}"/>

        <property name="maxPoolSize" value="30"/>
        <property name="minPoolSize" value="10"/>
        <!--    关闭后是否自动commit    -->
        <property name="autoCommitOnClose" value="false"/>
        <!--    超时时间    -->
        <property name="checkoutTimeout" value="1000"/>
        <!--    重试次数    -->
        <property name="acquireRetryAttempts" value="2"/>
    </bean>

那么出现问题的原因,可以从报错信息看到, 配置的用户名明明是 root,但是实际读取到的是 Administrator,读取的是哪里的呢?

username 读取的是电脑系统的 username,我的电脑的名称是 Administrator,所以这里出现的这个小坑,给与记录。

改进方式

既然知道错误,改进方式也很简单 将 jdbc.properties 文件中的配置 username 属性改成 user 或者 自己喜欢的能明确表达的键

代码如下

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/seckill?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=UTC
user=root
password=123456
 <!--  c3p0连接池  -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${driver}"/>
        <property name="jdbcUrl" value="${url}"/>
        <property name="user" value="${user}"/>
        <property name="password" value="${password}"/>

        <property name="maxPoolSize" value="30"/>
        <property name="minPoolSize" value="10"/>
        <!--    关闭后是否自动commit    -->
        <property name="autoCommitOnClose" value="false"/>
        <!--    超时时间    -->
        <property name="checkoutTimeout" value="1000"/>
        <!--    重试次数    -->
        <property name="acquireRetryAttempts" value="2"/>
    </bean>

问题解决,希望可以帮助到需要的人,如果有不足,请各位大佬指点!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值