数据库和实体类设计好以后,有几个实体类就需要几个Dao吗?显然不是。。。
利用java的反射机制,一个Dao就可以实现对所有实体类的操作
思路就是,传过来一个实体类,利用实体类得到表,把实体类的每一个字段取出,放到表对应的字段。。。。
但是,如果实体类字段发生变化,这个时候往数据库插入数据就会出错,原因是表里面没有与实体类属性对应的字段,
这个时候就要用到java的反射机制了
我们首先需要得到表的所有字段,然后得到实体类的所有属性,两个一一比较,实体类中有的属性而数据库没有与之对应的字段,就舍去,这就是基本的思路
代码如下:
package com.lp.DAO;
import java.lang.reflect.Field;
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.List;
import com.lp.bean.goods;
/**
* 2015.7.20 利用java反射实现万能DAO 即使bean层的实体类字段改变 也能实现增删查改
*
* @author lp