MyBatis-plus笔记——常用注解

本文介绍了在MyBatis-Plus开发中如何使用@TableName指定表前缀,以及如何通过@TableId和@TableField配置主键和字段映射,同时讲解了@TableLogic注解实现逻辑删除功能的方法和示例。
摘要由CSDN通过智能技术生成

@TableName

在开发的过程中,我们经常遇到以上的问题,即实体类所对应的表有固定的前缀,例如 t_tbl_ 此时,可以使用 @TableName 指定表前缀

@Data
@TableName("t_user")
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

全局配置表前缀

application.yml

mybatis-plus:
  global-config:
    db-config:
      # 设置实体类所对应的表的统一前缀
      table-prefix: t_

@TableId


属性 所对应的字段指定为主键,默认主键名为id

@Data  
public class User {  
    // 将属性所对应的字段指定为主键  
    @TableId  
    private Long uid;  
    private String name;  
    private Integer age;  
    private String email;  
}

参数作用

参数作用
value指定主键的字段名,使用情况为实体类的属性和表属性不一致时
type指定主键策略类型,可以修改自增类型等

type的常用主键策略:
图片-qxtnwruz.png

@TableField

属性 所对应的字段指定为设置的value

@TableField("user_name")  
private String name;

@TableLogic


@TableLogic 是 MyBatis-Plus 框架中的一个注解,用于标识逻辑删除字段。

逻辑删除概念

  • 物理删除:真实删除,将对应数据从数据库中删除,之后查询不到被删除的数据
  • 逻辑删除:假删除,将对应诗句中代表被删除字段的状态修改为 被删除状态,之后在数据库中仍旧能看到此条数据记录

实现逻辑删除

  1. 创建逻辑删除状态列
    图片-qoztyofj.png

  2. 给对应的实体类添加@TableLogic注解

@Data  
public class User {  
    // 将属性所对应的字段指定为主键  
    @TableId(value = "uid")  
    private Long id;  
    @TableField("user_name")  
    private String name;  
    private Integer age;  
    private String email;  
    @TableLogic  
    private Integer isDeleted;  
}

此时查询被删除的SQL语句变成如下:

==>  Preparing: SELECT uid AS id,user_name AS name,age,email,is_deleted FROM t_user WHERE is_deleted=0
==> Parameters: 
<==    Columns: id, name, age, email, is_deleted
<==        Row: 6, zhangsan, 18, zhangsan@qq.com, 0
<==        Row: 7, zhangsan, 18, zhangsan@qq.com, 0
<==      Total: 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值