MybatisPlus - [05] 逻辑删除

题记部分

 

一、物理删除&逻辑删除

物理删除:delete from table_name where xxx = ?;

逻辑删除:update table_name set deleted = 0 where xxx = ?;

 

二、测试

(1)增加逻辑删除字段deleted(默认1,1:存在,0:删除)

alter table user add column deleted int(1) default 1 comment '逻辑删除' after version;

(2)POJO实体类增加属性

package com.harley.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.Date;

/**
 * @author harley
 * @date 2024/06/06 17:30
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class User {

    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    private String email;
    @Version
    private Integer version;
    
    @TableLogic // 逻辑删除
    private Integer deleted;

    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
}

(3)配置 application.properties

spring.application.name: mybatis-plus
# 数据库连接配置
spring.datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&userUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
  username: root
  password: '!QAZ2wsx'


mybatis-plus:
  global-config:
    # 配置逻辑删除 
    db-config:
      # 删除为0
      logic-delete-value: 0
      # 存在为1
      logic-not-delete-value: 1
  configuration:
    # 配置日志
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

(4)测试删除

  • 首先查询user表中的数据,底层SQL会查询数据库中deleted=1的数据。

  •  漩涡鸣人开启仙人模式干掉6个佩恩
@Test
void testDelete(){
    int res = userMapper.deleteBatchIds(Arrays.asList(7L,8L,9L,10L,11L,12L));
    if (res > 0){
        System.out.println("漩涡鸣人开启仙人模式干掉了"+res+"个佩恩");
    }
}

 

但是,查看后台数据库,会发现“删除”的记录仍然存在,只是deleted变为了0

 

 

 

— 业精于勤荒于嬉,行成于思毁于随 —

posted @   HOUHUILIN  阅读(111)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示