public void testDeleteUserByID(){ User user = new User(); boolean res = user.deleteById(7); System.out.println(res); } 在控制台的输出中,可以看到删除记录的SQL变为了 UPDATE,同时在SQL语句末尾,自动加上了 isDeleted=0 的内容。 ==> Preparin
mybatis-plus: global-config: db-config: logic-not-delete-value: 0 # 未删除值 logic-delete-value: 1 # 已删除值 3. 示例代码 以下是一个简单的示例,展示了如何在MyBatis-Plus中使用is_deleted字段进行逻辑删除和查询: java import com.example.demo.mapper.UserMapper; import com.example.demo.model...
现有一张user表,表中有name和is_delete两个字段,我们给name字段建立唯一索引 在表中插入张三后将其删除,此时表中只有一条数据 name为张三、is_delete为1 当再次插入张三时,由于name的唯一索引限制,此时报错插入失败 有人说将name和is_delete建立联合唯一索引,以上问题解决,因为is_delete值不同可以再次插入张三数据 ...
inti=userMapper.deleteById(1); System.out.println(i); } 1. 2. 3. 4. 5. DEBUG==> Preparing: UPDATE sys_user SET is_delete='1' WHERE id=? AND deleted='0' DEBUG==> Parameters: 1(Integer) DEBUG<== Updates: 1 1. 2. 3. 不查询is_deleted字段 @TableField(select = false)即可。...
接下来,我们来探讨如何在配置层面启用逻辑删除功能:mybatis-plus: global-config: db-config: logic-delete-field: isDelete # 定义全局的逻辑删除实体字段(从3.3.0版本开始,此配置一旦设定,后续步骤可省略) logic-delete-value: 1 # 设置逻辑已删除的标记值,默认为1 logic-not-...
实现MybatisPlus的逻辑删除查询,可利用拦截器接口,对SQL进行动态替换。在拦截到的SQL中,如果包含"QUERYDELETEDATA"关键词,需将逻辑删除条件(is_delete = 0)和该关键词替换为合适的内容。具体实现步骤如下:首先,创建自定义拦截器类,继承自MybatisPlus的全局拦截器接口,重写其方法以实现动态SQL替换。...
查询条件 req中的is_delete字段是Integer类型,在xml中,错误的写成了 会产生一个奇怪的现象, 当 is_delete = 1 的时候,这个条件会成立,拼接在sql语句中,但是当 is_delete = 0 的时候,条件直接失败,不拼接。原因未知。 当然,正确写法是: 只是不明白一个错误导致的另一个错误...
(1)mybatisplus的默认逻辑删除值为1,不删除值为0 (2)可以在配置文件中进行修改为你所需要的值 #逻辑删除值为2mybatis-plus.global-config.db-config.logic-delete-value=2#不删除为0mybatis-plus.global-config.db-config.logic-not-delete-value=0...
在我的数据库表中,is_delete为1时,代表着逻辑上的删除,is_delete为0时,表示没有删除 注解@TableLogic的使用,就代表着该类中的属性是逻辑删除的属性 注意: 在测试逻辑删除的时候,真正执行的是修改UPDATE t_user SET is_deleted=1 WHERE id=? AND is_deleted=0 ...
private Boolean deleted; 1. 2. 3. 4. ## 3、实体类所在的配置文件中添加配置 #开启日志 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 逻辑删除 global-config: db-config: logic-delete-field: deleted ...