t_transaction_total ttts = new t_transaction_total();
ttts.setId(ttt.getId());
ttts.setStatus(5);
int a = instantArrivalService.upCapitalStatus(ttts);
在new一个实体表的时候,表里面的初始数据都是为null的int类型的为0,我set 2个数据进来,再去执行修改操作,里面拼接的sql是修改我全部表的内容
update t_transaction_total set status = 5 ,xx=0 , xx = null where id = 1
这样子我以前的数据不就被修改了吗?
难道我要先执行一个查询再去修改吗?
可以对字段加一个更改标示,如果有set,对应的标示为true,在循环的时候
for(int i = 0 ; i < index ; i ++){
Column col = fieldNames.getColumn();//此处逻辑自行实现
if(col.modified()){
//被更改
...
}
}
二楼说的更改标识,使用前也还是建立的先查询出记录为前提的。
你这写法必然会有这个问题,类似hibernate自动生成sql逻辑。
否则实际就有需要将值update为默认值的时候,就出问题了。
你什么需求,为什么不用开源框架呢。