Mybatisplus 常用注解

一、Mybatisplus 注解

@TableName 

表名注解,标识实体类对应的表

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.ANNOTATION_TYPE})
public @interface TableName {// 表名String value() default "";// schemaString schema() default "";// 是否保持使用全局的 tablePrefix 的值(当全局 tablePrefix 生效时)boolean keepGlobalPrefix() default false;// xml 中 resultMap 的 id(用于满足特定类型的实体类对象绑定)String resultMap() default "";// 是否自动构建 resultMap 并使用(如果设置 resultMap 则不会进行 resultMap 的自动构建与注入)boolean autoResultMap() default false;// 需要排除的属性名String[] excludeProperty() default {};
}

@TableId

主键注解

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface TableId {// 主键字段名String value() default "";// 指定主键类型IdType type() default IdType.NONE;
}public enum IdType {// AUTO	数据库 ID 自增AUTO(0),// NONE	无状态,该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT)NONE(1),// INPUT insert 前自行 set 主键值INPUT(2),// ASSIGN_ID 分配 ID(主键类型为 Number(Long 和 Integer)或 String)(since 3.3.0),使用接口IdentifierGenerator的方法nextId(默认实现类为DefaultIdentifierGenerator雪花算法)ASSIGN_ID(3),// ASSIGN_UUID 分配 UUID,主键类型为 String(since 3.3.0),使用接口IdentifierGenerator的方法nextUUID(默认 default 方法)ASSIGN_UUID(4);private final int key;private IdType(int key) {this.key = key;}public int getKey() {return this.key;}
}

@TableField 

字段注解(非主键)

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface TableField {// 数据库字段名String value() default "";// 是否为数据库表字段boolean exist() default true;// 字段 where 实体查询比较条件,有值设置则按设置的值为准,没有则为默认全局的 %s=#{%s}    String condition() default "";// 字段 update set 部分注入,例如:当在version字段上注解update="%s+1" 表示更新时会 set version=version+1 (该属性优先级高于 el 属性)String update() default "";// FieldStrategyFieldStrategy insertStrategy() default FieldStrategy.DEFAULT;// FieldStrategyFieldStrategy updateStrategy() default FieldStrategy.DEFAULT;// FieldStrategyFieldStrategy whereStrategy() default FieldStrategy.DEFAULT;// 字段自动填充策略FieldFill fill() default FieldFill.DEFAULT;// 是否进行 select 查询boolean select() default true;// 是否保持使用全局的 format 进行处理boolean keepGlobalFormat() default false;String property() default "";// JDBC 类型 (该默认值不代表会按照该值生效)JdbcType jdbcType() default JdbcType.UNDEFINED;// 类型处理器 (该默认值不代表会按照该值生效)Class<? extends TypeHandler> typeHandler() default UnknownTypeHandler.class;boolean javaType() default false;// 指定小数点后保留的位数String numericScale() default "";
}public enum FieldStrategy {// 忽略判断IGNORED,// 非 NULL 判断NOT_NULL,// 非空判断(只对字符串类型字段,其他类型字段依然为非 NULL 判断)NOT_EMPTY,// 追随全局配置DEFAULT,// 不加入SQLNEVER;private FieldStrategy() {}
}public enum FieldFill {// 默认不处理DEFAULT,// 插入时填充字段INSERT,// 更新时填充字段UPDATE,// 插入和更新时填充字段INSERT_UPDATE;private FieldFill() {}
}

@Version

乐观锁注解、标记 @Version 在字段上

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface Version {
}

@EnumValue

普通枚举类注解(注解在枚举字段上)

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface EnumValue {
}

@TableLogic

表字段逻辑处理注解(逻辑删除)

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface TableLogic {// 逻辑未删除值String value() default "";// 逻辑删除值String delval() default "";
}

@OrderBy

内置 SQL 默认指定排序,优先级低于 wrapper 条件查询

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface OrderBy {// 是否倒序查询boolean asc() default false;/** @deprecated */@Deprecatedboolean isDesc() default true;// 数字越小越靠前short sort() default 32767;
}

二、Mybatits注解
 

@Select

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Repeatable(Select.List.class)
public @interface Select {String[] value();String databaseId() default "";@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public @interface List {Select[] value();}
}

@Delete

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Repeatable(Delete.List.class)
public @interface Delete {String[] value();String databaseId() default "";@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public @interface List {Delete[] value();}
}

@Insert

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Repeatable(Insert.List.class)
public @interface Insert {String[] value();String databaseId() default "";@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public @interface List {Insert[] value();}
}

@Update

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Repeatable(Update.List.class)
public @interface Update {String[] value();String databaseId() default "";@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public @interface List {Update[] value();}
}

@Mapper

@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER})
public @interface Mapper {
}


MyBatis-Plus 官网地址

MyBatis中文网

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

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

相关文章

最适合用来编写程序、网站、AI的编程语言分别是什么?

编写程序最适合的语言&#xff1a; Python&#xff1a;Python 是一种解释性、面向对象、动态语言。它是一种易于学习的语言&#xff0c;适合编写小型到大型的应用程序。由于其简单易用的语法和广泛的支持库&#xff0c;Python 成为了数据科学和机器学习领域的首选语言。同时&a…

XTU-OJ 1227-Robot

题目描述 假设在一个XOY坐标的平面上&#xff0c;机器人一开始位于原点&#xff0c;面向Y轴正方向。 机器人可以执行向左转&#xff0c;向右转&#xff0c;向后转&#xff0c;前进四个指令。 指令为 LEFT:向左转RIGHT:向右转BACK:向后转FORWORD n:向前走n(1≤n≤100)个单位 现在…

【环境】Linux下Anaconda/ Miniconda安装+百度Paddle环境搭建+Cudnn(3090显卡+CUDA11.8+cudnn8.6.0)

清华源帮助链接&#xff1a;https://mirror.tuna.tsinghua.edu.cn/help/anaconda/ 下载链接&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 其他深度学习环境相关博文&#xff1a;【stable-diffusion】4090显卡下dreambooth、lora、sd模型微调的GUI环境…

计算机网络-TCP协议

面向连接的运输&#xff1a;TCP TCP连接 TCP被称为面向连接的&#xff0c;因为在应用程序开始互传数据之前&#xff0c;TCP会先建立一个连接&#xff0c;该连接的建立涉及到三次“握手”。 TCP的连接不是一条真实存在的电路&#xff0c;而是一条逻辑链接&#xff0c;其共同状…

SpringBoot篇---第四篇

系列文章目录 文章目录 系列文章目录一、springboot常用的starter有哪些二、 SpringBoot 实现热部署有哪几种方式&#xff1f;三、如何理解 Spring Boot 配置加载顺序&#xff1f; 一、springboot常用的starter有哪些 spring-boot-starter-web 嵌入tomcat和web开发需要servlet…

shell编程(第14篇:管道符号的妙用)

前言 类Unix系统中&#xff0c;有非常多的命令&#xff0c;如果每个命令都只能独立运行&#xff0c;无法发挥他们的作用&#xff0c;前辈们利用管道&#xff0c;把命令组合在一起使用&#xff0c;管道也是进程间通信的方式之一 管道符 在shell编程中&#xff0c;管道符用竖线字…

遍历树形结构记录

例如: 这是递归对树形结构的遍历 findMatchingValue(json1,json2){ if(json1.defaultLabel&&json2.some(item>item.titlejson1.defaultLabel)){ //将匹配的值保存起来 this.matchedValue.push(json1.defaultLabel) } if(json1.childrens&&json1.childrens.…

8.3 矢量图层点要素单一符号使用二

文章目录 前言单一符号&#xff08;Single symbol&#xff09;渲染图片标记&#xff08;Raster Image marker&#xff09;QGis代码实现 动画标记&#xff08;Animated marker&#xff09;QGis代码实现 总结 前言 上一篇教程介绍了矢量图层点要素单一符号中简单标记和svg标记本…

Docker 启动远程服务访问不了

今天一下午在弄这个 1、防火墙是否关了 firewall-cmd --state2、ip转发开没开 sysctl net.ipv4.ip_forward3、service iptables是不是打开并拦截了 4、检查docker启动的端口号是否一致&#xff0c;或者启动时对不对 5、检查docker的服务是否起来了&#xff0c;比如你的端口号…

软考 系统架构设计师系列知识点之设计模式(5)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之设计模式&#xff08;4&#xff09; 所属章节&#xff1a; 老版&#xff08;第一版&#xff09;教材 第7章. 设计模式 第2节. 设计模式实例 3. 行为型模式 行为型模式可以影响一个系统的状态和行为流。通过优化状态…

Go 语言访问 Redis 笔记

文章目录 Mac 下载 RedisMac Redix 数据库打开服务端客户端 导包连接数据库操作字符串操作 Hash设置过期时间队列操作连接池并发操作管道化操作事务操作 Mac 下载 Redis Mac安装Redis&#xff0c;原来就是这么简单 Mac Redix 数据库打开 brew services start redis 服务端 …

SiteGround主机最新购买使用指南及外贸建站教程

SiteGround是一家知名的虚拟主机服务提供商&#xff0c;它在过去几年中在WordPress和WooCommerce建站领域取得了显著的发展和改进。SiteGround致力于为用户提供专门针对WordPress优化的虚拟主机&#xff0c;并将WordPress深度集成到其主机服务中&#xff0c;使外贸建站过程变得…

司徒理财:10.26周四黄金走势分析,黄金操作策略,谨慎追多

黄金走势分析&#xff1a;      黄金依旧是震荡走势不变&#xff0c;昨日给的文章策略可谓神准&#xff01;亚欧盘现价1970提示做多&#xff0c;美盘1987提示做空&#xff0c;一来一回&#xff0c;又是大肉&#xff01;震荡走势&#xff0c;高抛低吸&#xff0c;最忌追涨杀…

gstreamer插件开发-What are states?

## What are states?状态描述元素实例是否初始化、是否准备好传输数据以及当前是否正在处理数据。在GStreamer中定义了四种状态: > - GST_STATE_NULL> - GST_STATE_READY> - GST_STATE_PAUSED> - GST_STATE_PLAYING 从现在开始&#xff0c;它们将被简单地称为“NU…

GPT的前世今生:从gpt1到chatgpt的能力提升

从2017年google brain提出transformer模型&#xff0c;到2018年基于transformer模型open ai推出了gpt1模型以及google推出了bert模型&#xff0c;到2019-2021年open ai陆续推出gpt2和gpt3&#xff0c;再到2022-2023年推出chat-gpt和gpt4&#xff0c;大语言模型已经发展成了一个…

遥感语义分割、变化检测论文小trick合集(持续更新)

目录 &#x1f497;&#x1f497;1.影像融合机制 &#x1f497;&#x1f497;2.上下文聚合模块 &#x1f497;&#x1f497;3.adapter即插即用模块 &#x1f497;&#x1f497;1.影像融合机制 参考【多源特征自适应融合网络的高分遥感影像语义分割】文章中的“多源特征自适应…

【软考】数据库篇:并发控制-数据不一致问题

简介 本文介绍软考数据库篇&#xff0c;关于事务的考核内容。软考在数据库事务篇的考察&#xff0c;几乎都是出选择题类题目&#xff0c;不过在数据库系统工程师的内容里&#xff0c;会在下午提以一个小题出现&#xff0c;可见还是比较重要的知识点。 考纲内容 考核并发控制…

快速排序(c语言代码实现)

交换排序&#xff1a;快速排序&#xff08;不稳定的排序&#xff09; 快速排序&#xff08;Quick Sort&#xff09;是一种常见的排序算法&#xff0c;它采用分治法的思想&#xff0c;对待排序序列进行划分&#xff0c;使得划分出的子序列可以分别进行排序&#xff0c;最终使整…

买卖股票的最佳时机 II

给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有一股 股票。你也可以先购买&#xff0c;然后在 同一天 出售。返回 你能获得的 最大 利润 。 示例 1&#…

淘宝商品链接获取淘宝商品评论数据(用 Python实现淘宝商品评论信息抓取)

在网页抓取方面&#xff0c;可以使用 Python、Java 等编程语言编写程序&#xff0c;通过模拟 HTTP 请求&#xff0c;获取淘宝多网站上的商品详情页面评论内容。在数据提取方面&#xff0c;可以使用正则表达式、XPath 等方式从 HTML 代码中提取出有用的信息。值得注意的是&#…