mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 09:38:26 +08:00
增强: Entity 数据在被插入时,会自动设置逻辑删除的默认值
This commit is contained in:
parent
a4d018b86f
commit
19bf420627
@ -58,9 +58,12 @@ public class EntitySqlProvider {
|
|||||||
|
|
||||||
TableInfo tableInfo = ProviderUtil.getTableInfo(context);
|
TableInfo tableInfo = ProviderUtil.getTableInfo(context);
|
||||||
|
|
||||||
//设置乐观锁版本字段的初始化
|
//设置乐观锁版本字段的初始化数据
|
||||||
tableInfo.initVersionValueIfNecessary(entity);
|
tableInfo.initVersionValueIfNecessary(entity);
|
||||||
|
|
||||||
|
//设置逻辑删除字段的出初始化数据
|
||||||
|
tableInfo.initLogicDeleteValueIfNecessary(entity);
|
||||||
|
|
||||||
Object[] values = tableInfo.obtainInsertValues(entity);
|
Object[] values = tableInfo.obtainInsertValues(entity);
|
||||||
ProviderUtil.setSqlArgs(params, values);
|
ProviderUtil.setSqlArgs(params, values);
|
||||||
|
|
||||||
@ -86,6 +89,7 @@ public class EntitySqlProvider {
|
|||||||
TableInfo tableInfo = ProviderUtil.getTableInfo(context);
|
TableInfo tableInfo = ProviderUtil.getTableInfo(context);
|
||||||
for (Object entity : entities) {
|
for (Object entity : entities) {
|
||||||
tableInfo.initVersionValueIfNecessary(entity);
|
tableInfo.initVersionValueIfNecessary(entity);
|
||||||
|
tableInfo.initLogicDeleteValueIfNecessary(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
Object[] values = new Object[0];
|
Object[] values = new Object[0];
|
||||||
|
|||||||
@ -505,4 +505,21 @@ public class TableInfo {
|
|||||||
metaObject.setValue(columnPropertyMapping.get(versionColumn), 0);
|
metaObject.setValue(columnPropertyMapping.get(versionColumn), 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化逻辑删除的默认值
|
||||||
|
*
|
||||||
|
* @param entityObject
|
||||||
|
*/
|
||||||
|
public void initLogicDeleteValueIfNecessary(Object entityObject) {
|
||||||
|
if (StringUtil.isBlank(logicDeleteColumn)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
MetaObject metaObject = EntityMetaObject.forObject(entityObject, reflectorFactory);
|
||||||
|
Object columnValue = getColumnValue(entityObject, logicDeleteColumn);
|
||||||
|
if (columnValue == null) {
|
||||||
|
metaObject.setValue(columnPropertyMapping.get(logicDeleteColumn), 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user