Mybatis常用注解说明

MyBatisPlus 常用注解说明

@TableName(opens new window)
描述:表名注解,标识实体类对应的表
使用位置:实体类
@TableName("sys_user")
public class User {private Long id;private String name;private Integer age;private String email;
}

在这里插入图片描述

关于 autoResultMap 的说明:

MP 会自动构建一个 resultMap 并注入到 MyBatis 里(一般用不上),请注意以下内容:

因为 MP 底层是 MyBatis,所以 MP 只是帮您注入了常用 CRUD 到 MyBatis 里,注入之前是动态的(根据您的 Entity 字段以及注解变化而变化),但是注入之后是静态的(等于 XML 配置中的内容)。

而对于 typeHandler 属性,MyBatis 只支持写在 2 个地方:

定义在 resultMap 里,作用于查询结果的封装
定义在 insert 和 update 语句的 #{property} 中的 property 后面(例:#{property,typehandler=xxx.xxx.xxx}),并且只作用于当前 设置值
除了以上两种直接指定 typeHandler 的形式,MyBatis 有一个全局扫描自定义 typeHandler 包的配置,原理是根据您的 property 类型去找其对应的 typeHandler 并使用。

@TableId
描述:主键注解
使用位置:实体类主键字段

@TableName("sys_user")
public class User {@TableIdprivate Long id;private String name;private Integer age;private String email;
}

在这里插入图片描述

IdType

在这里插入图片描述

@TableField(opens new window)
描述:字段注解(非主键)
@TableName("sys_user")
public class User {@TableIdprivate Long id;@TableField("nickname")private String name;private Integer age;private String email;
}

在这里插入图片描述
在这里插入图片描述

关于jdbcTypetypeHandler以及numericScale的说明:

numericScale只生效于 update 的 sql. jdbcType和typeHandler如果不配合@TableName#autoResultMap = true一起使用,也只生效于 update 的 sql. 对于typeHandler如果你的字段类型和 set 进去的类型为equals关系,则只需要让你的typeHandler让 Mybatis 加载到即可,不需要使用注解

在这里插入图片描述
在这里插入图片描述

@Version(opens new window)
描述:乐观锁注解、标记 @Version 在字段上
@EnumValue(opens new window)
描述:普通枚举类注解(注解在枚举字段上)

在这里插入图片描述

#@SqlParser (opens new window)Deprecated
see @InterceptorIgnore

在这里插入图片描述

#@InterceptorIgnore(opens new window)
value 值为 1 | yes | on 视为忽略,例如 @InterceptorIgnore(tenantLine = “1”)

value 值为 0 | false | off | 空值不变 视为正常执行。

see 插件主体

在这里插入图片描述

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

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

相关文章

Spring、SpringMVC、SpringBoot核心知识点(持续更新中)

Spring、SpringMVC、SpringBoot核心知识点(持续更新中) Spring Bean 的生命周期Spring 的 IOC 与 AOPSpring Bean 循环依赖Spring MVC 处理请求的过程Spring Boot 自动装配原理Spring Boot 启动流程 Spring Bean 的生命周期 参考文章:一文读…

园区水电表集中抄表管理系统

在众多的园区管理难题中,水电表的抄录和管理是一项基础而又繁琐的任务。园区水电表集中抄表管理系统正是为了解决这一问题而生,它利用现代通信技术和信息处理技术,实现了对园区内全部水电表的集中监控、抄表和管理。本文将从系统的必要性、特…

MAC安装CocoaPods遇到的错误Failed to build gem native extension.

MAC安装CocoaPods遇到的错误Failed to build gem native extension. 配置flutter环境的时候报错cocoapods不可用 发现已经安装了CocoaPods,但是不能用 重新安装CocaPods sudo gem install cocoapods重新安装报错如下: 安装RVM curl -L https://get.r…

windows 下 docker compose 安装 ollama 和 open-webui ,打造私有GPT

在人工智能领域,GPT(Generative Pre-trained Transformer)模型因其强大的文本生成能力而广受欢迎。但是,由于资源限制,个人用户可能难以直接运行和训练这样的大型模型。幸运的是,有一些开源项目如Ollama和O…

R语言使用installr包对R包进行整体迁移

今天分享一个R语言的实用小技巧,如果咱们重新安装了电脑(我重装了电脑)或者因为需要卸载旧版本的R软件,安装新版本的R,那么必然会造成R包的库缺失,需要重新下载,有些还不是官方的R包&#xff0c…

文献速递:深度学习肝脏肿瘤诊断---基于深度学习的表型分类重新划分联合肝细胞胆管癌

Title 题目 Deep learning-based phenotyping reclassifies combined hepatocellular cholangiocarcinoma 基于深度学习的表型分类重新划分联合肝细胞胆管癌 01文献速递介绍 Primary liver cancer arises either from hepatocytic or biliary lineage cells, giving rise to…

08 SQL进阶 -- 集合运算 -- 表的连结(JOIN)

1. 连结(JOIN) 前一节我们学习了 UNION和INTERSECT 等集合运算, 这些集合运算的特征就是以行方向为单位进行操作. 通俗地说, 就是进行这些集合运算时, 会导致记录行数的增减。使用 UNION 会增加记录行数,而使用 INTERSECT 或者 EXCEPT 会减少记录行数。 但这些运算不能改变…

10-菜刀连接木马

找到了漏洞后,并且上传了木马之后才能使用的两款工具 中国菜刀和冰蝎 想办法获取别人的cookie,cookie中有session-id 一、中国菜刀 1、必须提前已经完成木马植入然后才能使用 2、木马必须是POST请求,参数自定义,在菜刀里给出…

RS232、RS485、RS422、TTL、CAN各自的区别

目录 一:工业串口通信标准RS232、RS485、RS422的区别 第一个区别、硬件管脚接口定义不同 第二个区别、工作方式不同 第三个区别、通信方式不同 第四个区别,逻辑特性不同 第五个区别、抗干扰性、传输距离和传输速率也不同 二:RS232、RS…

MySQL常用命令和函数的讲解以及表之间的联结

Mysql的中一些语句的用法: 有表: CREATE TABLE book (id int(20) NOT NULL,book_name varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 书名,press varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NUL…

uniapp微信小程序分包

一、创建分包文件夹subPack 二、将页面文件放入分包文件夹中 启动页面和导航tabBar页面不要放入分包文件夹中 三、配置pages.json 四、效果

leetcode-合并两个有序链表

目录 题目 图解 方法一 方法二 代码(解析在注释中) 方法一 ​编辑方法二 题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1…