mybatis-mp - 亮点三:逻辑删除,可自动填充删除时间


逻辑删除:不仅仅支持flag删除标记字段,还可自动填充删除时间字段,flag字段可时间,可数字类型,可boolean!

@Data
@Table
public class LogicDeleteTest {

@TableId
private Long id;

private String name;

private LocalDateTime deleteTime;

@LogicDelete(beforeValue = "0", afterValue = "1", deleteTimeField = "deleteTime")
private Byte deleted;
}
1. @LogicDelete 属性 beforeValue

未删除前的值,只能是固定值;时间类型的逻辑,可不填

2. @LogicDelete 属性 afterValue

删除后的值,可固定值或者动态值 例如 afterValue = "{NOW}",目前支持LocalDateTime,Date,Long,Integer,框架自动给值

3。 @LogicDelete 属性 deleteTimeField

逻辑删除的时间字段,可不填,填了系统自动update 时 设置删除时间,deleteTimeField对应的字段类型
支持:LocalDateTime,Date,Long,Integer类型

4. 逻辑删除全局开关(默认开)

MybatisMpConfig.setLogicDeleteSwitch(true);

5 逻辑删除-局部开关


try (LogicDeleteSwitch ignored = LogicDeleteSwitch.with(false)) {
logicDeleteTestMapper.getById(1);
}


上面代码必须try (LogicDeleteSwitch ignored = LogicDeleteSwitch.with(false))


下面的更简单:

LogicDeleteTest logicDeleteTest = LogicDeleteUtil.execute(false, () -> {
return logicDeleteTestMapper.getById(1);
});


相關推薦

2024-04-03

1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时间 4:mybatis-mp - 亮点四:可自定义 sql(sql 模板) 5

2024-05-25

官方文档:http://mybatis-mp.cn 1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时间 4:mybatis-mp - 亮点四

2024-06-03

官方文档:http://mybatis-mp.cn   10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时

2024-06-06

官方文档:http://mybatis-mp.cn SysUserVo sysUserVo = QueryChain.of(sysUserMapper) .select(SysUserVo.class) .from(SysUser.class) .join(SysUser.class, SysRole.class) .returnType(SysUserVo.class) .get(); 10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态

2024-06-04

官方文档:http://mybatis-mp.cn SysUserVo sysUserVo = QueryChain.of(sysUserMapper) .select(SysUserVo.class) .from(SysUser.class) .join(SysUser.class, SysRole.class) .returnType(SysUserVo.class) .get(); 10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态

2024-06-07

官方文档:http://mybatis-mp.cn 1.5.7  加强了对泛型的处理 更好的支持var SysUserVo sysUserVo = QueryChain.of(sysUserMapper) .select(SysUserVo.class) .from(SysUser.class) .join(SysUser.class, SysRole.class) .returnType(SysUserVo.class) .get(); 10 大与众不同的亮点:

2024-06-17

官方文档:http://mybatis-mp.cn 1.5.8 正式发布 1. SQL with 优化,支持with 递归 2. 增加orderByDesc 方法 3:order by nulls first last 适配 4:兼容人大金仓数据库 5:兼容clickhouse 6:修复模板包含列别名的问题 7:优化update set 增加when

2024-06-01

官方文档:http://mybatis-mp.cn 1.5.3 更新: 1:优化分页paging,让开发者可以继承Pager,并分页是无需再转换 2:兼容普通VO,实现字段名映射,lambda映射,例如:.selectWithFun(SysAuthority::getParentId, c -> c.as(Tree::getParentId)) 3:修复sql模板

2024-06-29

thods count方法增加distinct功能 10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态默认值 2:mybatis-mp - 亮点二:支持不同数据库 ID 自增配置 3:mybatis-mp - 亮点三:逻辑删除,可自动填充删除时间 4

2024-07-24

mybatis-mp是一款真正意义上ORM框架,绝对好用的不行!!! 官方文档:https://mybatis-mp.cn 1.6.0 rc1 发布 1:减少生成器maven依赖 2:增加多主键兼容   10 大与众不同的亮点: 1:mybatis-mp - 亮点一:可自定义动态默

2024-07-12

官方文档:https://mybatis-mp.cn 1.5.9 正式发布 1:增加 json字段 对应的typeHandler 2:优化了maven依赖 3:@TableField 增加 insert 开关 4:新增saveOrUpdate 5:优化DaoImpl,让继承者更容易扩展 6:Methods 增加count1()/countAll()方法 7:Met

2024-05-29

官方文档:http://mybatis-mp.cn 1.5.1更新: 1.修复了多数据源 springboot3下报错的问题 2.部分数据库函数同时兼容各数据库 3.增加不同数据库执行不同sql功能 SysUser sysUser = QueryChain.of(sysUserMapper) .select(SysUser::getId) .onDB(DbType.H2, queryC

2024-06-14

官方文档:http://mybatis-mp.cn 1.5.8-rc  优化底层,增加了 with/with recursive 功能 WithQuery withQuery = WithQuery.create("sub") .recursive("n", "n2") .select("1,1"); withQuery.unionAll(Query.create() .select("n+1,n2+1") .from(withQuery) .lt(Methods.column("n"), 2) .l

2023-12-20

应该是该框架的一大亮点,可以大大减少开发者的bug! mybatis-mp 包含丰富的api: 1:基于注解,映射数据库; 2:支持多表 join 和返回; 3:api 采用 lambda 和 stream 流式设计; 4:内置分页以及超强的 sql 优化功能; 5:稳定且