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

news2024/11/27 4:03:17

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的条件查询

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/364732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习动漫插画的网络班排行榜

很多小伙伴不知道动漫插画培训机构哪个好,找不到靠谱的插画班,今天给大家整理了国内动漫插画培训机构排名! 一:动漫插画培训机构排名 1、轻微课(五颗星) 主打课程有日系插画、游戏原画、古风插画、动漫漫画…

python基于vue个人家庭理财记账管理系统

近年来在计算机的迅速发展的背景下,家庭理财领域与传统手工记账相比,使用计算机系统来管理不仅克服了地域上的局限性,而且增强了用户在时间和空间上的体验,以及能够让用户随时随地进行需要的操作,可以很好的规避传统的…

【建议收藏】Jenkins+postman+newman之API全自动化测试

1 背景 本文要介绍的环境在我司已经投入使用,举个简单的真实使用场景,开发提供了300多个API,每个API都有各种参数,所以我们会先在postman中为这300多个API编写300*n个testcase,然后在jenkins上跑;到此有人…

【Spark分布式内存计算框架——离线综合实战】2. 业务需求

1.3 业务需求 对广告数据进行初步ETL处理和业务报表统计分析,整体业务需求如下图所示: 两个主要方面的业务: 第一个、数据【ETL 处理】 依据IP地址,调用第三方库解析为省份province和城市city;将ETL后数据保存至PAR…

消费升级趋势下,平台如何在广告电商模式中攫取新流量

如今电商平台飞速发展,越来越多的人加入电商运营的行列,同行竞争逐渐变得激烈起来,为了能够让平台有更多的展现机会,提升平台的商品转化率,大家都很重视平台的优化,因为一个好的平台可以给自身带来更多的流…

比特数据结构与算法(第四章_上)树和二叉树和堆的概念及结构

1.树概念及结构1.1树的概念树是一种非线性的数据结构,它是由 n(n > 0)个有限节点组成的一个具有层次关系的集合。那么为什么叫 "树" 呢? (节点也可以称结点,建议称结点,和结构体对…

REDIS中的缓存穿透,缓存击穿,缓存雪崩原因以及解决方案

需求引入一般在项目的开发中,都是使用关系型数据库来进行数据的存储,通常不会存在什么高并发的情况,可是一旦涉及大数据量的需求,比如商品抢购,网页活动导致的主页访问量瞬间增大,单一使用关系型数据库来保存数据的系统…

多孔弹性材料中传播的膨胀波方法(Matlab代码实现)

👨‍🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…

海量并发低延时 RTC-CDN 系统架构设计(下)

上半部分内容:海量并发低延时 RTC-CDN 系统架构设计(上)低延时 RTC-CDN 系统的架构传统 CDN 直播发展多年,为了优化延时,业界基本上朝两大优化方向:优化传输层协议和在传输层协议的基础上优化应用层协议。R…

Hadoop环境搭建(1)

一、在已安装的虚拟机上面进行修改(以CentOS 7为例)①修改主机名查看自己主机名,命令hostname第一种修改主机名方法,命令vi /etc/hostname第二种修改主机名方法,命令hostnamectl set -hostname 自定义主机名可以更改为…

简单介绍如何使用robotium进行自动化测试

创建一个简单的工程作为被测程序,运行后显示如下界面: 2.创建一个Test Project 1). 打开eclipse,选择File->New->Project…->Android Test Project,点击Next。 2). 在Test Project Name中输入测试工程的名称&#xff…

华为HCIP-Datacom认证题库(H12-821)

第一套(100题) 1. (单选题)下面关于0SPF的特殊区域,描述错误的是: A.Totally Stub Area允许ABR发布缺省的三类LSA,不接受五类LSA和细化三类LSA B.NSSA Area和Stub区域的不同在于该区域允许自治系统外部路由的引入&…

「实践总结」订单超时自动取消

在进行开发的过程中,在开发的时候,有遇到相关的延时支付相关的问题,在解决延时支付的相关的问题的时候,会有很多种的解决办法,现在就讲对应的解决办法先进行相关的总结操作;「引言」在开发中,往…

mysql索引失效的几种情况

失效的几种情况 1、select * from xxx 2、索引列上有计算 3、索引列上有函数 4、like左边包含‘%’ 5、使用or关键字 6、not in和not exists 7、order by 8、不满足最左匹配原则 给code、age和name这3个字段建好联合索引:idx_code_age_name。 该索引字段的顺…

ChatGPT告诉你:项目管理能干到60岁吗?

早上好,我是老原。这段时间最火的莫过于ChatGPT,从文章创作到论文写作,甚至编程序,简直厉害的不要不要的。本以为过几天热度就自然消退了,结果是愈演愈烈,热度未减……大家也从一开始得玩乐心态&#xff0c…

注意,这本2区SCI期刊最快18天录用,还差一步录用只因犯了这个错

发表案例分享: 2区医学综合类SCI,仅18天录用,录用后28天见刊 2023.02.10 | 见刊 2023.01.13 | Accepted 2023.01.11 | 提交返修稿 2022.12.26 | 提交论文至期刊部系统 录用截图来源:期刊部投稿系统 见刊截图来源&#xff1a…

npm link

正文npm link的用法假如我们想自己开发一个依赖包,以便在多个项目中使用。一种可行的方法,也是npm给我们提供的标准做法,那就是我们独立开发好这个 "依赖包",然后将它直接发布到 npm镜像站 上去,等以后想在其…

熟读阿里总结的 Java10w 字总结,15 天拿下 5 个大厂 offer(阿里,美团,字节...)

Java 面试都会有很多程序员找工作、跳槽等一系列的安排。说实话,面试中 7 分靠能力,3 分靠技能;在刚开始的时候介绍项目都是技能中的重中之重,它也是可以决定一次面试的成败的,那么在面试的时候你会如何介绍自己、熟练…

Sms多平台短信服务商系统~完成阿里云短信服务发送可自行配置

1.项目中引入Maven 阿里云地址 不同编程语言都有对应的SDK,你们下载自己需要的即可。 pom.xml中添加maven坐标 <!--阿里云短信服务--><dependency><groupId>com.aliyun</groupId><artifactId>alibabacloud-dysmsapi20170525</artifactId>…

八、CSS新特性二

文章目录一、CSS3多背景和圆角二、怪异盒子模型三、多列属性四、H5多列布局瀑布流五、CSS3线性渐变5.1 线性渐变5.2 径向渐变六、CSS3过渡动画七、CSS3 2D八、CSS3动画一、CSS3多背景和圆角 css3多背景&#xff0c;表示CSS3中可以添加多个背景。 CSS3圆角 border-radius: 0px;…