为什么空值默认不参与insert/update
最后更新:2025-01-11 05:30:05
|
状态:未完成
在实际开发过程中,经常有需要修改单个属性的情况,如是修改数量这一列,在提交参数时不可能把整行数据完整提交,这时其他列就会没有数据,但其他列明显不应该参与更新。
如果是DataRow也可以把不必要的key删除,但用用实体类操作时就不那么方便了,所以默认空值不参与更新。
如果需要更新的话可以设置ConfigTable(全局)或ConfigStore(单个操作)上的开关
service.update("table", row, "AGE", "NAME"....)
也可以调用DataRow.addAllUpdateColumns()更新所有列
如果是前端传值可以传一个大写的NULL表示空
如果是DataRow也可以把不必要的key删除,但用用实体类操作时就不那么方便了,所以默认空值不参与更新。
如果需要更新的话可以设置ConfigTable(全局)或ConfigStore(单个操作)上的开关
boolean IS_UPDATE_NULL_COLUMN = false ; // DataRow是否更新nul值的列(针对DataRow) boolean IS_UPDATE_EMPTY_COLUMN = false ; // DataRow是否更新空值的列 boolean IS_INSERT_NULL_COLUMN = false ; // DataRow是否插入nul值的列 boolean IS_INSERT_EMPTY_COLUMN = false ; // DataRow是否插入空值的列 boolean IS_UPDATE_NULL_FIELD = false ; // Entity是否更新nul值的属性(针对Entity) boolean IS_UPDATE_EMPTY_FIELD = false ; // Entity是否更新空值的属性 boolean IS_INSERT_NULL_FIELD = false ; // Entity是否更新nul值的属性 boolean IS_INSERT_EMPTY_FIELD = false ; // Entity是否更新空值的属性只针对单个DataRow也可以修改这几个属性
protected boolean updateNullColumn = ConfigTable.IS_UPDATE_NULL_COLUMN; protected boolean updateEmptyColumn = ConfigTable.IS_UPDATE_EMPTY_COLUMN; protected boolean insertNullColumn = ConfigTable.IS_INSERT_NULL_COLUMN; protected boolean insertEmptyColumn = ConfigTable.IS_INSERT_EMPTY_COLUMN; protected boolean replaceEmptyNull = ConfigTable.IS_REPLACE_EMPTY_NULL;也可以在update方法是指定需要更新的列
service.update("table", row, "AGE", "NAME"....)
也可以调用DataRow.addAllUpdateColumns()更新所有列
如果是前端传值可以传一个大写的NULL表示空