Mybatis-Plus-常用实体注解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis-Plus-常用实体注解相关的知识,希望对你有一定的参考价值。

参考技术A 注解类包:

👉 mybatis-plus-annotation

::: warning 关于 autoResultMap 的说明:
从mp的原理上讲,因为底层是mybatis,所以一些mybatis的常识你要知道,mp只是帮你注入了常用crud
注入之前可以说是动态的(根据你entity的字段以及注解变化而变化),但是注入之后是静态的(等于你写在xml的东西)
而对于直接指定 typeHandler ,mybatis只支持你写在2个地方:

MYBatis-Plus常用注解@TableName@TableId@TableField@TableLogic

1-1:@TableName

注解作用:设置实体类对应的表明

value作用:value指定数据库中的表名

如果我们不设置这个注解,我们操作的数据库的表就由BaseMapper 泛型决定(SysLog)

@TableName(value = "sys_Log")
public class SysLog 

1-2:另外的一种方法:

设置实体类所对应的表的统一前缀

我们如果不用注解也可以,比如下面的这个方式,给每个类都配置一个前缀,比如说表名是log,但他其实已经默认是sys_Log

#mybatis plus 设置
mybatis-plus:
  mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml
  # 设置mybatis-plus的全局配置
  global-config:
    # 关闭MP3.0自带的banner
    banner: false
    db-config:
      #主键类型
      id-type: ASSIGN_ID
      # 默认数据库表下划线命名
      #table-underline: true
      table-prefix: sys_

2:@TableId

作用:将属性所对应的字段指定为主键
属性名value :指定主键的字段,要和数据库表中的属性名一致,要不然最终的查询结果是null
将数据库中的结果对此变量名进行注入
type属性:设置主键生成策略,不指定的话默认雪花算法 (数据库记得勾选自动递增)
1:AUTO(0)—使用数据库的自增策略,注意,该类型请确保数据库设置了id自增,否则无效
2:NONE(1)—不设置id生成策略
3:INPUT(2)—需要自己数据添加主键,不能为null,否则报错
4:ASSIGN_ID(3)—默认就是这个,基于雪花算法的策略生成数据id,与数据库id是否设置自增无关(如果我们自己指定了ID,便不会触发雪花算法),可兼容数值型与字符串型
5:ASSIGN_UUID(4)—以UUID生成算法作为id生成策略

2-1:id自增用法

    @TableId(value="id",type = IdType.AUTO)  //代表自增算法
    private int id;

2-2:雪花用法

    @TableId(value="id",type = IdType.ASSIGN_ID)  //代表自增算法
    private int id;

2-3:@TableField

使用注解就是对于数据库的userName字段

    @TableField(value = "userName")
    private String userName;

如果不加上面那个注解的话,就会默认两个单词中间加一个—,变成user_name数据库字段

2-3:@TableLogic

    /**
     * 逻辑删除:未删除0  1删除
     */
    @TableLogic
    private Integer delFlag;

0表示未删除状态,1表示删除状态
物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据

逻辑删除:假删除,将对应数据中代表是否被删除字段的状态修改为“被删除状态”,之后在数据库 中仍旧能看到此条数据记录

使用场景:可以进行数据恢复,对删除的数据进行恢复的操作

我们对数据进行delete删除之后,我们再进行查询操作时查询不到的(这个时候不用指定deleted=0),但是数据还是存在在数据库中

同理,查询的时候也会自动加上del_falg=1的条件查询

以上是关于Mybatis-Plus-常用实体注解的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis插件之Mybatis-Plus的实体类注解篇

MyBatisPlus常用注解

MyBatis-Plus01_概述初始化工程BaseMapper和Service中的CRUD常用注解

MyBatis-Plus01_概述初始化工程BaseMapper和Service中的CRUD常用注解

适合新手的12个Mybatis-Plus常用注解

MyBatis-Plus