为什么空值默认不参与insert/update

最后更新:2025-01-11 05:30:05 | 状态:未完成
在实际开发过程中,经常有需要修改单个属性的情况,如是修改数量这一列,在提交参数时不可能把整行数据完整提交,这时其他列就会没有数据,但其他列明显不应该参与更新。
如果是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表示空
首页 最近更新 搜索 提交 回复