MYBatis-Plus常用注解@TableName、@TableId、@TableField、@TableLogic
目录
目录
一、@TableName
注解作用:设置实体类对应的表明
value作用:value指定数据库中的表名
如果我们不设置这个注解,我们操作的数据库的表就由BaseMapper
@TableName(value = "t_book")public class Book {}
另外的一种方法:
设置实体类所对应的表的统一前缀
我们如果不用注解也可以,比如下面的这个方式,给每个类都配置一个前缀,比如说表名是Book,但他其实已经默认是t_Book
二、@TableId
作用:将属性所对应的字段指定为主键
属性名value :指定主键的字段,要和数据库表中的属性名一致,要不然最终的查询结果是null
将数据库中的结果对此变量名进行注入
type属性:设置主键生成策略,不指定的话默认雪花算法 (数据库记得勾选自动递增)
值 | 描述 |
AUTO(0) | 使用数据库的自增策略,注意,该类型请确保数据库设置了id自增,否则无效 |
NONE(1) | 不设置id生成策略 |
INPUT(2) | 需要自己数据添加主键,不能为null,否则报错 |
ASSIGN_ID(3) | 默认就是这个,基于雪花算法的策略生成数据id,与数据库id是否设置自增无关(如果我们自己指定了ID,便不会触发雪花算法),可兼容数值型与字符串型 |
ASSIGN_UUID(4) | 以UUID生成算法作为id生成策略 |
雪花算法
占位符:0 表示这个数是正数
我们不用研究他,直接使用就可以了
普通用法
@TableId(value="id",type = IdType.AUTO) //代表自增算法 private int id;
全局配置主键生成策略
三、@TableField
作用:指定属性所对应的字段名
@TableField(value = "bookName") private String bookName; @TableField(value = "statue") private String statue; @TableField(value="type") private String type;
如果不加上面那个注解的话,就会默认两个单词中间加一个—,如下图所示
四、TableLogic
0表示未删除状态,1表示删除状态
物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据
逻辑删除:假删除,将对应数据中代表是否被删除字段的状态修改为“被删除状态”,之后在数据库 中仍旧能看到此条数据记录
使用场景:可以进行数据恢复,对删除的数据进行恢复的操作
我们对数据进行delete删除之后,我们再进行查询操作时查询不到的(这个时候不用指定deleted=0),但是数据还是存在在数据库中
来源地址:https://blog.csdn.net/weixin_51351637/article/details/127044796
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341