Java中针对数据库表的通用查询

本文介绍了一种在Java中创建通用数据库查询的方法,利用泛型和反射技术,简化了对数据库表的操作。通过baseDAO抽象类和JDBCUtils工具类,可以方便地进行增删改查操作。文中给出了Sponsor类作为示例,演示了如何查询Sponsor表并获取所有记录。
摘要由CSDN通过智能技术生成

针对于数据库中表的通用查询


前言

对于数据库中的各种数据表,每次单独写一个查询,非常的繁琐。今天和大家分享一下通用的查询方法,一劳永逸,设计非常的银杏.

提示:我使用的是mysql8.0.22版数据库,mysql驱动是5.1.47,数据库是8.0.22版本


下面我简要的说一下:
baseDAO是一个工具类,基本的对数据库操作方法写在这里
特定接口类:制定标准,针对某一张表实现哪些操作?比如根据Id查询对应记录,删除一条记录等等。
特定的类:数据库中的一张表对应一个类,此类继承了baseDAO和实现了特定接口类

其他各个类的作用,我都详细的在代码中标注出来了

JDBCUtils类,一个获取数据库连接和关闭资源的公共类

package com.database.connection;

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

//用于获取数据库连接,以及对资源的关闭等操作的一个工具类

public class JDBCUtils {
//静态方法,用于获取一个数据库连接
public static Connection getConnection() throws Exception {
//读入配置文件中的连接数据库信息
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream(“jdbc.properties”);

	//创建Properties实例,用来存储配置文件中的信息
	Properties properties = new Properties();
	
	//加载配置文件,此方法存在异常,需要手动抛出异常
	properties.load(is);
	
	//取数据
	String user = properties.getProperty("user");
	String password = properties.getProperty("password");
	String url = properties.getProperty("url");
	String driverClass = properties.getProperty("driverClass");
	
	//加载驱动,驱动从mysql官网下载
	Class.forName(driverClass);
	
	//获取连接
	Connection connection = DriverManager.getConnection(url,user,password);
	
	//返回连接
	return connection;
	
}
//关闭连接资源的通用方法,需要关闭的资源,数据库连接,PreparedStatement,
public static void closeConnection(Connection conn,PreparedStatement ps ) {
	try {
		//防止空指针异常
		if(conn != null)
		conn.close();
	} catch (SQLException e) {
		e.printStackTrace();
	}
	try {
		//防止空指针异常
		if(ps != null)
		ps.close();
	} catch (SQLException e) {
		e.printStackTrace();
	}
}
//关闭连接资源的通用方法,需要关闭的资源,数据库连接,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值