java修改前后差异_java中比较两条数据结构相同的数据的不同值(对一条数据修改前和修改后的不同)代码...

之前做的一个微信端的项目:项目有一个需求是修改数据的时候,将进行修改了的数据记录下来,然后修改了多少数据加一定的积分。最近做了个项目:项目的需求是对一张单子的某几项进行修改,然后和修改之前的单子进行比较,展示修改了哪些内容,这两张单子都是可以在数据库不同表查出来的,但是这两张表的数据结构是相同的。代码是这样写的:第一个是主要方法,第二个是部分实体类。其实主要就是运用了反射。

public ListqueryDiffByID(V_FreightPolicy freightPolicy, V_FreightPolicy freightPolicyLong) throws Exception {

LOG.info(BaseLogInfo.formatLOGINFO("111", "queryDiffByID", "初始化"));

List list = new ArrayList();

List listDiff = new ArrayList();

Class clazz = Class.forName("com.ccsee.ecargo.model.db.V_FreightPolicy");

// 获取该类的所有属性字段V_FreightPolicy

Field[] fields = clazz.getDeclaredFields();

// 解析字段注解

for (Field field : fields) {

if (field.isAnnotationPresent(AnnotationField.class)) {

AnnotationField annoField = field.getAnnotation(AnnotationField.class);

EndorseValue keyValue = new EndorseValue();

keyValue.setKeyName(annoField.fieldValue());

keyValue.setKey(field.getName().toUpperCase());

list.add(keyValue);

}

}

Mapmap = new HashMap();

Method[] methods = clazz.getMethods();// 类的方法

for (Method method : methods) {

String methodName = method.getName();

if (methodName.startsWith("get") && !methodName.equals("getClass")) {// 如果方法名以get开头

Object value = method.invoke(freightPolicy);// 调用方法,并打印返回值

if (value != null) {

map.put(methodName.substring(3).toUpperCase().toString(), value.toString());

}

}

}

for (Method method : methods) {

String methodName = method.getName();

if (methodName

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值