以前作项目时修改日志是把修改前的整条记录都保存,后来客户提出需求,对每个变更的字段保存一条记录,记录变更前内容,变更后内容。
由此用到了java反射机制来获取成员变量,比较修改前,修改后这个变量是否发生了变化,变化的话就保存一条记录,否则不处理
public void saveAE07(String tablename,String ywzj,Object obj_old,Object obj_new,String aae011,String aae017,String aae999,String mkmc) throws Exception {
Class clas_old = obj_old.getClass();
Class clas_new = obj_new.getClass();
if(!(clas_old.isInstance(clas_new))){
System.out.println("传入的两个java对象类型不一致!");
return;
}
Field[] fields = clas_old.getDeclaredFields();
for (Field field : fields) {
String name = field.getName();
String type = field.getType().getName();
// System.out.println("============