针对于数据库中表的通用查询
前言
对于数据库中的各种数据表,每次单独写一个查询,非常的繁琐。今天和大家分享一下通用的查询方法,一劳永逸,设计非常的银杏.
提示:我使用的是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();
}
}
//关闭连接资源的通用方法,需要关闭的资源,数据库连接,