Java se课程设计详解——数据库接口类(1)

开始做课程设计的时候根本无从下手,后来查阅资料后发现是先从数据库开始的。整个课程设计需要用到的如下图,今天总结一下数据库接口!
在这里插入图片描述
数据库接口需要用到两个类,一个是DAO.java,另一个是properties.java。

1、properties.java文件

因为使用 JDBC 操作数据库,基本流程是相同的,只是操作的内容不同,因此,可将数据库的连接和有关操作封装成类,后续操作数据库时只要调用相关类的方法即可。

步骤

(1)先创建一个以properties 为后缀的文件,比如my.properties ,双击打开,然后在文件写入数据库的相关信息,如下:
propertise文件中的内容可以这样写!
(2)将数据库驱动程序、 UTL、用户名、密码等写入到数据库配置文件(即properties 文件, 它是一种特殊类型的 Map 结构,关键字与值都是字符串, 中间用“=”连接,既可以用文件保存,也可以从文件中装入)中;

(3)properties.java这个文件中的properties类专门读取配置文件中参数:用 static块加载配置文件,且提供 static 方法 String getValue(String key);

package hr.dao;
import java.io.FileInputStream;
import java.util.Properties;

public class properties {
	private static Properties p = null;
	static {
		try {
			p = new Properties();
			p.load(new FileInputStream("mysql.properties"));// 加载配置文件
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	// 获取键对应的值
	public static String getValue(String key) {
		return p.get(key).toString();
	}
}

创建一个properties类的对象,调用load()方法加载配置文件,通过一个文件输入字节流来获取文件内容,getValue()方法就是方便DAO类获取文件中的内容,以达到封装的效果。

package hr.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;

/**
 * 数据库接口类
 * 
 * @author DELL
 *
 */
public class DAO {

	private static DAO dao = new DAO(); // 声明DAO类的静态实例

	/**
	 * 利用静态模块加载数据库驱动
	 */
	static {
		try {
			String driver=properties.getValue("driver");
			Class.forName(driver); // 加载数据库驱动
		} catch (ClassNotFoundException e) {
			JOptionPane.showMessageDialog(null, "数据库驱动加载失败,请将驱动包配置到构建路径中。\n" + e.getMessage());
			e.printStackTrace();
		}
	}

	

	/**
	 * 获得数据库连接的方法
	 * 
	 * @return Connection
	 */
	public static Connection getConnection() {//一定要声明为静态的方法
		try {
			Connection conn = null; // 定义数据库连接
			String url = properties.getValue("url"); // 数据库admin_class
			String username = properties.getValue("user"); // 数据库的用户名
			String password = properties.getValue("pwd"); // 数据库密码
			conn = DriverManager.getConnection(url, username, password); // 建立连接
			return conn; // 返回连接
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, "数据库连接失败。请检查数据库用户名和密码是否正确。" + e.getMessage());
			return null;
		}
	}

	public static void main(String[] args) {
		System.out.println(getConnection());//后台打印可以检测是否连接成功
	}

}

同样DAO类把连接数据库类的操作也封装了起来,如果程序中哪里需要连接数据库直接调用DAO的getgetConnection()方法即可。需要注意:getConnection()方法已经声明为静态(全局)方法,如果不声明为static,则其他类无法调用这个方法!

附上一个课程设计的视频!哈哈,也可以关注我公众号【物联网技术猿】

[video(video-geynaYB2-1576209828594)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=79055224)(image-https://ss.csdn.net/p?http://i2.hdslb.com/bfs/archive/bf4a42da69f85e7830417705b1083d4a7c0a71dd.jpg)(title-java se 课程设计)]

posted @ 2019-12-13 12:07  物联网程序猿  阅读(359)  评论(0编辑  收藏  举报