java.sql.SQLException: Access denied for user ‘‘@‘localhost‘ (using password: NO) 出现原因和解决办法

news/2024/5/19 0:27:38 标签: mysql, jdbc
  今天我在复习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");  即可解决。
再次运行即可获得数据库连接对象

运行结果:
在这里插入图片描述


http://www.niftyadmin.cn/n/902444.html

相关文章

IDEA中代码、单词大小写切换快捷键(开发中的小技巧)

在开发中很多时候会用到的小技巧 ctrshiftu

IDEA自动导包配置总结

IDEA实用功能之----自动导包设置 自动导包是什么意思? 原本我们在eclipse中,如果要引用一个方法,发现缺少这个方法所需要的包,需要手工去输入。 比如我们要用到FileInputStream流,需要在前面输入import java.io.* 而…

IntelliJ IDEA 项目文件旁边都有0%classes,0% lines covered

IntelliJ IDEA项目文件旁边都有0%classes,0% lines covered。 不知不小心点到哪里,idea项目里面的文件都有0%classes,0% lines covered这些东西,看着很不舒服. 解决方法: 按快捷键ctrl ALT F6弹出如下框, 取消勾选–>点击…

oracle一次插入多条数据(insert all)

问题: 公司的项目,有个功能每次使用需要向数据库插入很多数据,导致页面等待很长时间才有结果。 数据库:oracle11g id:采用sequence自增 每次循环,都会查询一次sequence,然后insert一条数据&…

理解java的三大特性之多态

面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代…

svn用户名和密码都正确,但是登录不了

以前用过svn,并且用过代理同时保存了用户名和密码,结果就是一直用保存的用户名和密码登录,但svn居然不报错,一直不停的跳登录界面。 看了很多办法,差不多的回答都是那几点: 1、windows自带的或用户自己安…

swagger 以及swaggerUI使用的步骤

1.swagger,可以这么理解swagger是接口规范。Rest Api 传递参数的除了get请求外,put post,需要传递json。或者就是直接都通过传递json到后台 这里主要介绍一下springboot后台整合swagger的使用步骤。如果要查看swagger(OpenApi)的规范&#x…

设计模式第二篇工厂模式

工厂方法模式 **定义:**定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。 **类型:**创建类模式 类图: 工厂方法模式代码 interface IProduct {public void productMet…