对于一些比较重要的数据,我们通常采用逻辑删除。(即用一个字段表示是否删除,实际上始终在数据库没有被删除) 当逻辑删除字段为 true,业务处理的时候会自动把该数据当做一个“不存在”的数据处理。(即不处理) 注意,只有MybatisPlus生成的SQL语句才支持自动的逻辑删除,自定义SQL需要自己手动处理逻辑删除。 在这里插入...
mbatis-plus的逻辑删除功能,可以通过注解个性化的配置某一张表或几张表开启逻辑删除功能(方式1),也可以通过配置文件,全局配置逻辑删除功能(方式2);根据情况,选择一种方式即可; 注解方式 在标识逻辑删除的字段上添加注解@TableLogic(value = "1",delval = "0")即可; 全局配置方式 mybatis-plus: global-config: d...
1. 查看日志会发现,第一个删除生成的sql代码其实是修改,只是将deleted字段等于0的条件下设置了deleted字段标记为1。 2. 查看日志,第二个查询的结果自动生成的sql代码中也自动添加了条件为deleted字段等于0。如下如图所示。 3. 通过查询输出的结果可发现查不到id为12的数据。如下图所示: 4. 我们从数据库中查看数...
逻辑删除 只对自动注入的sql起效: 插入: 不作限制 查找: 追加where条件过滤掉已删除数据,且使用 wrapper.entity 生成的where条件会忽略该字段 更新: 追加where条件防止更新到已删除数据,且使用 wrapper.entity 生成的where条件会忽略该字段 删除: 转变为 更新 例如: 删除:update user set deleted=1 where id = 1...
Mybatis-plus自动填充功能是指在数据库表进行增、删、改、查操作时,自动将某些字段的值进行填充。这些字段的值可以是当前时间、登录用户ID等。 在项目中有一些属性,如果我们不希望每次都填充的话,我们可以设置为自动填充,比如常见的时间,创建时间和更新时间可以设置为自动填充。
创建成功后删除src下面的test目录 说明: 中spring-boot-starter-parent 帮我们做了SpringBoot相关依赖包的版本号管理,所以有些依赖包不需要我们自己去写 但像mybatis-plus-boot-starter 它是不属于spring-boot相关的, parent中没有做版本号管理,所以还需要手动写一下。
字段填充:可以结合@TableField注解和MetaObjectHandler接口,实现逻辑删除字段的自动填充。 @TableField(fill = FieldFill.INSERT)@TableLogic(value = "0", delval = "1")privateInteger deleted; 五、使用总结: @TableLogic注解作为MyBatis Plus提供的重要特性,使逻辑删除功能变得更加优雅和高效。无论是基本的逻辑删除...
实际开发过程中,对数据都不会直接删除,都会采用逻辑删除的方式。所谓的逻辑删除,只是将数据置为一个状态,这个状态代表数据为删除状态,一般自己程序中写的话,就设置一个状态字段,给字段赋值为 或 D代表删除。而Mybatis-plus提供了@TableLogic注解,实现逻辑删除。只对自动注入的 sql 起效:* 插入: 不作限制 *...
逻辑删除适用于可以进行数据恢复或有关联数据,不便删除的场景。所谓的逻辑删除,实际上就是假删除,将对应数据中代表是否被删除字段状态修改为"被删除状态",之后在数据库中仍能看到这条数据记录。 步骤1:数据库修改 在数据库表中添加deleted字段 在数据库添加deleted字段 步骤2:实体类修改 在实体类中添加deleted字段,并...