在spring与mybatis的整合框架中使用阿里云的数据库连接池时,出现了一个非常有意思的错误,在控制台中报出的错误信息居然有本机电脑的用户名。
并且在网上搜索错误信息时,大部分是对数据库配置信息的各种修改。
具体错误代码如下:
com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl error
严重: create connection SQLException, url: jdbc:mysql://localhost:3306/mytest, errorCode 1045, state 28000
java.sql.SQLException: Access denied for user ***'@'localhost' (using password: YES)
到处搜索解决方案均没有,后来才发现在spring配置文件中,错把property 的username写成了name,在Druid中,name是代表各种不同的数据源的名称,默认是系统的用户名。
正确的解决方法如下,改回来就行
<bean id="myDateSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- set注入,给数据库连接池指定数据信息-->
<property name="url" value="jdbc:mysql://localhost:3306/mytest"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
<property name="maxActive" value="20"/>
</bean>