利用泛型封装BaseDao(项目中直接调用即可)

利用泛型封装BaseDao(项目中直接调用即可)


package com.cdsxt.base;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
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 BaseDao2 {
	//传入po 根据po的值  返回匹配的list
	public static   List  queryList(String sql,Object[] params,T t){
		Class clazz=t.getClass();
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		List list=new ArrayList();
		try {
			conn=DBUtil.getConn();
			ps=conn.prepareStatement(sql);
			//填坑
			if(params!=null&¶ms.length>0){
				for(int i=0;i T queryPo(String sql,int id,T t){
		Class clazz=t.getClass();
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		T obj=null;
		try {
			conn=DBUtil.getConn();
			ps=conn.prepareStatement(sql);
			ps.setInt(1, id);
			rs=ps.executeQuery();
			ResultSetMetaData metaData=rs.getMetaData();
			int count=metaData.getColumnCount();
			obj=(T)clazz.newInstance();
			while(rs.next()){
				for(int i=0;i0){
				for(int i=0;i list=BaseDao2.queryList("select * from person ", null, new Person());
//		System.out.println(list.size());
		Person person=queryPo("select * from person where id=?",4,new Person());
		System.out.println(person.getName());
	}
}


你可能感兴趣的:(Mysql数据库)