MyBatis-plus笔记——常用注解

news2024/11/25 0:49:54

@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

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

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

相关文章

起薪4万的AI产品经理,必须掌握的技术模型与3大知识体系

这是求职产品经理系列的第170篇文章 一、AI行业的招聘趋势以及人才紧缺度 根据脉脉《2023年人才报告》显示&#xff1a;人工智能成为2022最缺人行业&#xff0c;⼈⼯智能⾏业的⼈才紧缺指数&#xff08;⼈才需求量/⼈才投递量&#xff09;为0.83&#xff0c;也就是说这个领域人…

react props传参

props是父子传参的常用方法。 一、主要功能 1.传参 定义&#xff1a;父级组件向子级组件传递参数。 2.验证数据类型格式 定义&#xff1a;可以指定父组件传递过来数据为指定类型。 3.设置默认值 定义&#xff1a;在参数未使用时&#xff0c;直接默认为指定值。 二、实例代…

了解DDM/DOM在光收发器中的重要性

在光网络领域&#xff0c;DDM/DOM是不可或缺的技术&#xff0c;确保了光收发器的最佳性能和可靠性。了解 DDM/DOM 的重要性对于该领域的专业人员至关重要&#xff0c;因为这些技术提供了对光通信系统运行状况和功能的实时洞察。让我们深入研究 DDM/DOM 的复杂性&#xff0c;探索…

Deckset for Mac激活版:MD文档转幻灯片软件

Deckset for Mac是一款专为Mac用户打造的Markdown文档转幻灯片软件。它凭借简洁直观的界面和强大的功能&#xff0c;成为许多用户的心头好。 Deckset for Mac激活版下载 Deckset支持Markdown语法&#xff0c;让用户在编辑文档时无需分心于复杂的格式设置&#xff0c;只需专注于…

前端请求没问题,后端正常运行,但查不出数据

写代码时写得快了些&#xff0c;Orders.的订单状态写错了CONFIRMED 改成COMPLETED

python-pytorch官方示例Generating Names with a Character-Level RNN的部分理解0.5.03

pytorch官方示例Generating Names with a Character-Level RNN的部分理解 模型结构功能关键技术模型输入模型输出预测实现 模型结构 功能 输入一个类别名和一个英文字符&#xff0c;就可以自动生成这个类别&#xff0c;且以英文字符开始的姓名 关键技术 将字符进行one-hot编…

翻译《The Old New Thing》 - BOOL vs. VARIANT_BOOL vs. BOOLEAN vs. bool

BOOL vs. VARIANT_BOOL vs. BOOLEAN vs. bool - The Old New Thing (microsoft.com) Raymond Chen 2004年12月22日 BOOL、VARIANT_BOOL、BOOLEAN 和 bool 的比较 简要 文章讨论了在编程中表示布尔值的几种不同方式&#xff0c;以及它们的起源和应用场景。 正文 为何会有如此…

STM32学习和实践笔记(22):PWM的介绍以及在STM32中的实现原理

PWM是 Pulse Width Modulation 的缩写&#xff0c;中文意思就是脉冲宽度调制&#xff0c;简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术&#xff0c;其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应用的控制方式&#xff…

Java从菜鸟到高手①

目录 1.数据类型 2.定义变量 2.1.编码方式 2.2.布尔型变量boolean 2.3.隐式类型转化和强制类型转化 2.4类型提升 3.字符串类型 4.运算符 4.1.取余 4.2. &#xff0c;- 4.3逻辑运算&& || &#xff01; 4.4.位运算 4.5.条件运算符 1.数据类型 Java中&#…

特征融合篇 | YOLOv8 引入动态上采样模块 | 超过了其他上采样器

本改进已集成到YOLOv8-Magic 框架 论文名称:《Learning to Upsample by Learning to Sample》 论文地址:https://arxiv.org/abs/2308.15085 代码地址:https://github.com/tiny-smart/dysample 我们提出了 DySample,一种超轻量级且有效的动态上采样器。尽管最近基于内核的…

解决Linux CentOS 7安装了vim编辑器却vim编辑器不起作用、无任何反应

文章目录 前言一、解决vim不起作用&#xff08;卸载重新安装&#xff09;1.重新安装vim2.测试vim是否能正常使用 二、解决vim: error while loading shared libraries: /lib64/libgpm.so.2: file too short报错三、解决vim编辑器不能使用方向键和退格键问题 remove vim-common …

3分钟搭建专属于你的ChatGPT

本文首发于公众号 极客枫哥 &#xff0c;日更分享各种好玩的软件、编程知识和个人成长故事 我是枫哥&#xff0c;搭建自己的 ChatGPT 是一件非常有意思的事情&#xff0c;你不仅可以学习到如何搭建的过程也可以将它扩展成一个收费版的 AI 网站&#xff0c;提供给其他人使用&…

Burp自定义插件实现请求拦截

在安全测试时&#xff0c;经常需要对请求进行拦截以及配置管理&#xff0c;以便过滤域名或路径的请求。例如&#xff1a;被测对象会不断收集信息&#xff08;例如IP地址、设备信息&#xff09;通过HTTP传给服务端。本文将介绍如何使用Burp Suite的扩展插件&#xff0c;通过开发…

人工 VS AGV无人搬运机器人,AGV赋能中国智能制造

agv 机器人作为智能制造的重要抓手&#xff0c;正在渗透到各个传统行业&#xff0c;成为我国制造业转型升级的焦点。未来&#xff0c;智能AGV将不仅仅是简单的把货物搬运到指定的位置&#xff0c;而是要把5G技术、大数据、物联网、云计算等贯穿于产品的设计中&#xff0c;让智能…

ElasticSearch总结1

目录 一、ElasticSearch介绍&#xff1a; 举例一&#xff1a; 举例二&#xff1a; 举例三&#xff1a; 二、ELK技术栈 三、Elasticsearch 的基本概念&#xff1a; 四、正向索引和倒排索引&#xff1a; 正向索引&#xff1a; 倒排索引&#xff1a; 五、Mysql和Elastics…

【设计模式】简单工厂模式(Simple Factory Pattern)

工厂模式&#xff08;Factory Pattern&#xff09; 用于创建不同类型的奖品对象。您可以创建一个奖品工厂&#xff0c;根据配置的类型来实例化相应的奖品对象。 public interface Prize {void award(); }public class MoneyPrize implements Prize {Overridepublic void awar…

国内首个图计算平台团体标准发布,创邻科技参与编撰

2024年&#xff0c;由中国通信标准协会批准的团体标准《大数据 图计算平台技术要求与测试方法》&#xff08;编号&#xff1a;T/CCSA 470—2023&#xff09;&#xff08;下称&#xff1a;标准&#xff09;正式实施。该标准于1月4日在全国团体标准信息平台&#xff08;https://w…

贝叶斯推理导论:如何在‘任何试验之前绝对一无所知’的情况下计算概率

从左至右依次为托马斯贝叶斯、皮埃尔-西蒙拉普拉斯和哈罗德杰弗里斯——逆概率(即现在所说的客观贝叶斯分析)发展中的关键人物。[24] 历史背景 1654年&#xff0c;帕斯卡尔和费马共同解决了“点问题”, 创造了早期的直接概率推理理论。三十年后&#xff0c;雅各布伯努利将概率…

超详细的Vue脚手架

文章目录 Node.js介绍安装快速入门控制台输出使用函数模块化编程 npm包管理器介绍命令初始化命令本地安装(了解)全局安装(掌握)批量下载淘宝npm镜像(建议使用) Webpack介绍安装快速入门方式一&#xff1a;webpack原始方式方式二&#xff1a;基于NPM方式 webpack-dev-server 开发…

黑马点评(二)--商户查询缓存

目录 1.缓存更新策略1.1内存淘汰1.2超时剔除1.3主动更新 2.实现缓存和数据库的双写一致2.1Controller2.2Service2.3思路讲解 3.解决缓存穿透问题3.1出现原因3.2解决方案3.3代码实现 4.解决缓存雪崩问题4.1出现原因4.2解决方案4.3代码实现 5.解决缓存击穿问题5.1出现原因5.2解决…