Java DAO模式 数据库连接类

第一步:检查MySQL是否准备妥当

首先检查mysql是否安装成功

通过cmd进去mysql:以管理员身份运行cmd->输入:mysql -h localhost -u root -p -->输入密码-->成功进入。这一步操作是为了检查mysql是否安装成功。

查看MySQL中有哪些数据库以及表

mysql 显示所有的数据库:https://blog.csdn.net/u010746364/article/details/53078550

下载mysql视图管理工具Navicat,查看数据库结构



第二步:新建一个Java项目并配置好数据库的驱动程序

java连接mysql数据库的详细步骤:https://blog.csdn.net/huwentao0305/article/details/53378755


新建数据库连接类

由于所有数据库的连接操作都是固定的步骤,所以单独定义一个DatabaseConnection类,这个类主要负责

1.取得数据库的连接对象;

public Connection getConnection() {
		return this.conn; //返回本类对象中的Connection对象
	}

2.数据库的关闭操作;

	public void close() {
		if(this.conn != null) { //表示现在有连接对象
			try {
				this.conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

3.DatabaseConnection()的构造方法:在其中实现数据库的连接!//在实例化本类对象时就意味着要进行数据库的开发

public DatabaseConnection() {
		try {
			Class.forName(DBDRIVER); //加载驱动程序
			this.conn = DriverManager.getConnection(DBURL, DBUSER, PASSWORD); //连接数据库
		} catch (Exception e) {
			e.printStackTrace();
		} 
	}

4.储存以下数据:驱动程序名、数据库路径、数据库用户名、数据库密码,同时需要新建一个Connection对象。

private static final String DBDRIVER = "com.jdbc.mysql.Driver" ; //驱动程序名
private static final String DBURL = "jdbc:mysql://localhost:3306/test" ; //数据库路径
private static final String DBUSER = "root" ; //用户名
private static final String PASSWORD = "*******" ; //密码
private Connection conn ; //Connection对象

既然是一个专门用于数据库的连接操作,则将其保存在dbc子包中。


该类完整代码如下:

package com.fs.dbc;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;

/**
 * 本类专门负责数据库的连接和关闭,在实例化本类对象时就意味着要进行数据库的开发
 * 所以在本类的构造方法里要进行数据库驱动加载和数据库连接取得
 * @author 婉阿婉
 * 所以需要提供getConnection()、close()方法。
 */
public class DatabaseConnection {
	private static final String DBDRIVER = "com.jdbc.mysql.Driver" ; //驱动程序名
	private static final String DBURL = "jdbc:mysql://localhost:3306/test" ; //数据库的路径
	private static final String DBUSER = "root" ; //用户名
	private static final String PASSWORD = "*******" ; //密码
	private Connection conn ; //声明Connection对象
	/**
	 * 在构造方法中为conn对象实例化,可以直接取得数据库的连接对象
	 * 由于说有的操作都是基于数据库完成的,所以如果数据库连接失败,那么所有的后续操作也就没有意义了
	 */
	public DatabaseConnection() {
		try {
			Class.forName(DBDRIVER); //加载驱动程序
			this.conn = DriverManager.getConnection(DBURL, DBUSER, PASSWORD); //连接数据库
		} catch (Exception e) {
			e.printStackTrace(); //这个异常抛出的意义不大
		} 
	}
	/**
	 * 取得一个数据的连接对象
	 * @return Connection实例化对象
	 */
	public Connection getConnection() {
		return this.conn; //返回本类对象中的Connection对象
	}
	/**
	 * 关闭数据库
	 */
	public void close() {
		if(this.conn != null) { //表示现在有连接对象
			try {
				this.conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

一个小测试

数据库中表结构以及表内容


使用Test类输出表smalltest中的值

 
 
package com.fs.dbc;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {
	public static void main(String[] args) throws SQLException {
		DatabaseConnection dbc = new DatabaseConnection();
		if (dbc.getConnection() != null) {
			System.out.println("success");
			// 创建statement类对象,用来执行SQL语句
			Statement statement = dbc.getConnection().createStatement();
			String sql = "select * from smalltest"; // 要执行的SQL语句
			ResultSet rs = statement.executeQuery(sql);// ResultSet类,用来存放获取的结果集
			int id = 0; //
			while (rs.next()) {
				id = rs.getInt("id");// 获取id这列数据
				System.out.println(id);// 输出
			}
		} else {
			System.out.println("f");
		}
	}
}

输出结果


成功~~

o(* ̄▽ ̄*)ブ 开心

φ(゜▽゜*)♪高兴 

 (‾◡◝)骄傲

猜你喜欢

转载自blog.csdn.net/qq_36834445/article/details/79967445