java对数据库进行增删改查的封装(封装以后只要一句话就搞定对数据库的增删改查)

1.DBUtil类


package com.cdsxt.util;

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

import com.mysql.jdbc.PreparedStatement;

public class DBUtil {
	private static String mysqlDriver;
	private static String url;
	private static String user;
	private static String password;
	static{
		try {
			InputStream is=DBUtil.class.getResourceAsStream("/db.properties");
			Properties ps=new Properties();
			ps.load(is);
			mysqlDriver=ps.getProperty("mysqlDriver");
			url=ps.getProperty("url");
			user=ps.getProperty("user");
			password=ps.getProperty("password");
			Class.forName(mysqlDriver);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	//获取数据库连接
	public static Connection getConn(){
		Connection conn=null;
		try {
			conn= DriverManager.getConnection(url, user, password);
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println("获取数据库链接异常");
		}
		return conn;
	}
	
	//关闭资源
	public static void close(Object...objs){
		if(objs!=null&&objs.length>0){
			for(int i=0;i

2.封装代码;


package com.cdsxt.base;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import java.util.List;

import com.cdsxt.po.Person;
import com.cdsxt.util.DBUtil;

//基于泛型类
public class BaseDao3 {
	Class clazz;
	public BaseDao3(){
		Type type=this.getClass().getGenericSuperclass();
		Type[] types=((ParameterizedType)type).getActualTypeArguments();
		clazz=(Class)types[0];
	}
	
	
	//查询表带参数
	public List queryList(T t){
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		String sql=getQuerySql(t);
		List list=new ArrayList();
		try {
			conn=DBUtil.getConn();
			ps=conn.prepareStatement(sql);
			Field[] fields=clazz.getDeclaredFields();
			int c=1;
			for(int i=0;i

用了以上代码封装,以后增删改查只需要一句话就搞定,你体会到他的强大了吗?

你可能感兴趣的:(Web)