一、错误代码
错误原因:刚刚在写 sprint 整合 Junit 连接数据库的时候,发现报了这个错误。这个错误是什么意思呢?很明显 idea 已经给我们指出来了, ’${jdbc.username}‘,就是说我们配置的properties文件的用户名没有用上,怎么回事呢?我明明已经写了呀。
java.sql.SQLException: Access denied for user '${jdbc.username}'@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1596)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1662)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2601)
二、改正错误
1、我去查看了 properties 配置文件,发现我写的 jsdb.userName 是灰色的,怎么回事呢?灰色的一般都是没有使用到的
2、按住 Ctrl + 左键 点击 jsbc.url 进去看看
现在发现是什么错了吧,就是把 jdbc.userName 写成了 jdbc.username 了,就一个字母的大小写问题,大家可以看到,我们的驱动和数据库地址都已经加载进来了,到了写错的用户名就让停止了,因为 idea 已经报错了,没办法继续进行下一步了。
3、改正
我就不改核心配置类了,我直接改了 properties 配置类的用户名
三、运行
在 test 写一个测试类测试一下
完美运行成功了。
四、总结
又是粗心大意犯下的错误,不过还好很快就找到了错误,顺便记录一下,让自己印象更加深刻一点。