IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> java连接数据库访问失败 -> 正文阅读

[大数据]java连接数据库访问失败

mysql 数据库连接报错误:数据库连接成功数据库连接失败java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: NO),如下图所示:

在这里插入图片描述
解决方法:1.连接url格式出现了问题(Connection conn = DriverManager.getConnection (“jdbc:mysql://localhost:3306/数据库名”,“root”,“密码”)
2.驱动字符串出错(com.mysql.jdbc.Driver)
3.Classpath中没有加入合适的mysql_jdbc驱动
4.没有mysql-connector-java-3.1.14-bin.jar的jar包,或者路径出错

检查是否有启动驱动程序db.properties配置文件如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/data?useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=123456(注意密码不能错)

或者是以下情况:

修改前的代码如下所示:

package cn.qjq.jdbc;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class JDBCUtils {
	private static String driver;
	private static String url;
	private static String username;
	private static String password;
	//静态语句块
static {
		//JdBCUtils.class获得对象
		//getClassloader()类加载器
		//getResourceAsStream("db.properties")加载资源文件放到输入流中
		InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties");
		//创建Properties类型的对象
		Properties p = new Properties();
		//加载流文件
		try {
			p.load(is);
			driver = p.getProperty("driver");
			url = p.getProperty("url");
			username = p.getProperty("username");
			password = p.getProperty("password ");
			//加载MySQL驱动
			Class.forName(driver);
			System.out.println("驱动成功");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	//获得连接对象的方法
	public static Connection getConnection() {
		try {
			System.out.print("数据库连接成功");
			return DriverManager.getConnection(url,username,password);
		}catch (Exception e) {
			System.out.print("数据库连接失败");
			e.printStackTrace();
		}
		return null;
	}

修改后的代码如下:

package cn.qjq.jdbc;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class JDBCUtils {
	private static String driver;
	private static String url;
	private static String username;
	private static String password;
	// 静态语句块
	static {
		try {
			// getResourceAsStream("db.properties") 获取资源
			InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties");
			Properties properties = new Properties();
			properties.load(is);

			driver = properties.getProperty("driver");
			url = properties.getProperty("url");
			username = properties.getProperty("username");
			password = properties.getProperty("password");

			// 1 驱动只加载一次
			Class.forName(driver);

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	// 获取连接的方法
	public static Connection getConnection() throws SQLException {
		Connection conn = DriverManager.getConnection(url, username, password);
		return conn;
	}

	// 释放连接资源的方法
	public static void release(Connection conn, Statement st, ResultSet rs) {
		if (rs != null) {
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (st != null) {
			try {
				st.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

可能问题出现在以下这一块:
driver = p.getProperty(“driver”);
url = p.getProperty(“url”);
username = p.getProperty(“username”);
password = p.getProperty("password ");

结果展示

在这里插入图片描述

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-19 11:57:30  更:2021-10-19 11:57:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:03:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码