javaweb之DAO开发模式实现JDBCD的增删改查操作案例

DAO模式是数据库访问对象,将JDBC的增删改查操作封装在独立类中。每个数据库表对应一个类,如Student表对应StudentDao和StudentDaoImpl。项目涉及配置数据库连接的JDBCUtils工具类、db.properties配置文件,以及按不同功能划分的bean、dao、dao.impl和test包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DAO开发模式
Database Access Object 数据库访问对象

把对数据库进行的JDBC操作(增、删、改、查) 都放在一个类中,用不同的方法分别来完成增、删、改、查。

一张数据库表做一个类 例如 student表 ----> StudentDao StudentDaoImpl
数据库表----------------------实体类(JavaBean)
数据库中列 ------------------------------------------ 实体类的属性
数据库中的一条数据 ---------------------------- 实体类的一个对象
项目概述图:
在这里插入图片描述
数据库示意图:
在这里插入图片描述

一、导包

  1. 在工程中创建libs文件夹
  2. 将所需要的jar包粘贴到libs
  3. 然后右键该jar包build path–>add build path

二、所需类及文件
1、把字符串转日期的工具类DateUtil

package com.henu.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {
   
   
	private DateUtil() {
   
   

	}
	static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	// 字符串转日期
	public static Date stringToDate(String str) {
   
   
		Date date = null;
		try {
   
   
			date = sdf.parse(str);
		} catch (ParseException e) {
   
   
			e.printStackTrace();
		}
		return date;
	}

	public static String dateToString(Date date) {
   
   
		return sdf.format(date);
	}

	public static java.util.Date stringToDate(java.util.Date huigui1) {
   
   
		return null;
	}

}

2、注册启动获取数据库连接的JDBCUtils工具类

package com.henu.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

public class JDBCUtils {
   
   
	private static final String driverClass;
	private static final String url;// 指的是数据库名称也就是说第三个'/'代表 'localhost:3306/'
	private static final String username;
	private static final String password;

	// 用static代码块是为了率先加载且只加载一次
	static {
   
   
		// 用ResourceBundle将db.properties传入
		ResourceBundle rb = ResourceBundle.getBundle("db");
		driverClass = rb.getString("driver_class");
		url = rb.getString("url");
		username = rb.getString("username");
		password = rb.getString("password");
		try {
   
   
			// 1.注册驱动
			Class.forName(driverClass);
		} catch (ClassNotFoundException e) {
   
   
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	// 2.获取连接
	public static Connection getConnnection() {
   
   
		try {
   
   
			// DriverManger借助 ServiceLoader 找到驱动 并注册
			return DriverManager.getConnection(url, username, password);
		} catch (SQLException e) {
   
   
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}

	}

	// 3.关闭资源
	public static void closeAll(ResultSet rs, Statement st, Connection conn) {
   
   
		if (rs != null) {
   
   
			try {
   
   
				rs.close();
			} catch (SQLException e) {
   
   
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if (st != null) {
   
   
			try {
   
   
				st.close();
			} catch (SQLException e) {
   
   
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if (conn != null) {
   
   
			try {
   
   
				conn.close();
			} catch (SQLException e) {
   
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值