一、前请提要
在我们开发的过程中,除了用数据库来保存我们的数据,那么,怎么来获取我们保存在数据库中的数据呢?,特别是在java代码中呢?这里我们就要用到jdbc了,但是使用发现,我们的代码重复度过高,于是,我们对这些重复的代码进行了封装,当然,封装是一个极具挑战性的任务,这里面用到类回调,用到了反射,都是Java中的难点,小编也是在几天的代码阅读思考下才理解,单独给小编封装任务,小标怕是会跑路,哈哈!话不多说,跟随小编一起来思考这个工具包。
二、概要图片
三、具体代码详解
package com.softeem.jdbc.utils;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Properties;
import java.util.Set;
import com.alibaba.druid.pool.DruidDataSource;
import com.softeem.jdbc.entity.Account;
import com.softeem.jdbc.entity.Emp;
/**
* 自己封装的数据库工具类,包含一些操作数据库的简便方法
* 1. 获取连接
* 2. 关闭资源
* 3..
*/
public class DBUtils {
private static String driverClass;
private static String url;
private static String user;
private static String password;
/**最大活动连接数*/
private static int maxActive;
/**最小闲置连接*/
private static int minIdle;
/**等待连接获取的最长时间*/
private static long maxWait;
/**druid数据源对象*/
private static DruidDataSource dataSource;
static{
init();
}
public static void init(){
try {
Properties prop = new Properties();
//加载属性文件
prop.load(new FileInputStream("src/jdbc.properties"));
//获取属性信息(连接数据库的相关字符串)
driverClass = prop.getProperty("driverClass");
url = prop.getProperty("url");
user