iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MYBatis-Plus常用注解@TableName、@TableId、@TableField、@TableLogic
  • 400
分享到

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

mybatismysqlintellij-idea 2023-08-31 09:08:04 400人浏览 安东尼
摘要

目录 目录 一、@TableName 二、@TableId 雪花算法 普通用法  全局配置主键生成策略 三、@TableField 四、TableLogic 一、@TableName 注解作用:设置实体类对应的表明 va

目录

目录

一、@TableName

二、@TableId

雪花算法

普通用法

 全局配置主键生成策略

三、@TableField

四、TableLogic



一、@TableName

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

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

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

@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

您可能感兴趣的文档:

--结束END--

本文标题: MYBatis-Plus常用注解@TableName、@TableId、@TableField、@TableLogic

本文链接: https://www.lsjlt.com/news/385029.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作