java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
今天我在复习mysql数据库中,写JDBC测试代码的时候,在使用Junit测试运行程序的时候,遇到了这个错误:java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO) ,从该报错的字面意思就可以知道是没有使用数据可密码,但是我在数据可的properties文件中,写了数据库密码了呀。怎么会报这种错误呢,经过多番排查终于找到了错误,由于我的粗心大意,在使用DriverManager.getConnection(url,user,password) 获得数据库连接的过程中,我错将getConnetion()方法的三个参数写成了一个,写成:DriverManager.getConnection(url); 这样,因此报如上错误。
解决过程如下:
解决办法:正确使用getConnection()这个方法就可以了
解决完了这个问题,我抱着能成功的态度,又运行了一下,尴尬的是,又换了另一种错误,错误为:java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES) 这种错误和上一种错误,区别就在于,一个使用了数据库密码,一个没有,很想然我们刚刚遇到的错误解决了,我重新看一下代码,发现有些变量对应问题写错了。因为在数据中配置文件中的变量和我在Java程序中加载完毕数据库配置文件后,获取数据库配置文件中的变量不一致。
解决步骤如下:
在db.properties文件中的变量对应为:
解决办法:将错误代码改为 user = properties.getProperty("username"); 即可解决。再次运行即可获得数据库连接对象
运行结果:
原文链接:https://blog.csdn.net/lvhaoguang0/article/details/80868821
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)