MybatisPlus-注解
MybatisPlus常用注解
@TableName
属性 | 类型 | 必须指定 | 默认值 | 描述 |
value | String | 否 | "" | 表名 |
schema | String | 否 | "" | schema |
keepGlobalPrefix | boolean | 否 | false | 是否保持使用全局的 tablePrefix 的值(当全局 tablePrefix 生效时) |
resultMap | String | 否 | "" | xml 中 resultMap 的 id(用于满足特定类型的实体类对象绑定) |
autoResultMap | boolean | 否 | false | 是否自动构建 resultMap 并使用(如果设置 resultMap 则不会进行 resultMap 的自动构建与注入 |
excludeProperty | String[] | 否 | {} | 需要排除的属性名 |
- 数据库表相关
- value 表名
- excludeProperty 需要排除的字段名
如我们继承了BaseMode,BaseModel中有创建时间和修改时间
而我们的Employee表字段没有修改时间此时我们可以用 excludeProperty 将其排除掉。
@TableId
属性 | 类型 | 必须指定 | 默认值 | 描述 |
value | String | 否 | "" | 主键字段名 |
type | Enum | 否 | IdType.NONE | 指定主键类型 |
表主键标识
- type标识主键生成策略
@TableField
属性 | 类型 | 必须指定 | 默认值 | 描述 |
value | String | 否 | "" | 数据库字段名 |
exist | boolean | 否 | true | 是否为数据库表字段 |
condition | String | 否 | "" |
字段 where 实体查询比较条件,有值设置则按设置的值为准,没有则为默认全局的 %s=#{%s}
|
update | String | 否 | "" |
字段 update set 部分注入,例如:当在version字段上注解update="%s+1" 表示更新时会 set version=version+1 (该属性优先级高于 el 属性)
|
insertStrategy | Enum | 否 | FieldStrategy.DEFAULT |
举例:NOT_NULL insert into table_a(<if test="columnProperty != null">column</if>) values (<if test="columnProperty != null">#{columnProperty}</if>) |
updateStrategy | Enum | 否 | FieldStrategy.DEFAULT |
举例:IGNORED update table_a set column=#{columnProperty} |
whereStrategy | Enum | 否 | FieldStrategy.DEFAULT |
举例:NOT_EMPTY where <if test="columnProperty != null and columnProperty!=''">column=#{columnProperty}</if> |
fill | Enum | 否 | FieldFill.DEFAULT | 字段自动填充策略 |
select | boolean | 否 | true | 是否进行 select 查询 |
keepGlobalFormat | boolean | 否 | false | 是否保持使用全局的 format 进行处理 |
jdbcType | JdbcType | 否 | JdbcType.UNDEFINED | JDBC 类型 (该默认值不代表会按照该值生效) |
typeHandler | Class<? extends TypeHandler> | 否 | UnknownTypeHandler.class | 类型处理器 (该默认值不代表会按照该值生效) |
numericScale | String | 否 | "" | 指定小数点后保留的位数 |
- value
对应数据库字段名 如果你的字段是严格按照驼峰命名 会自动转换为下划线。 如 deptId => dept_id 如果属性名与数据库字段名不一致,请使用@TableField进行标识。
fill 自动填充
字段填充策略。
在需要填充的字段上进行标识后,需要实现 MetaObjectHandler接口 覆写里面的insertFill 和 updateFill 方法
此时我们不传name字段
会为我们进行自动填充。
@Version
- 描述:乐观锁注解、标记
@Verison
在字段上
1.首先注册乐观锁插件
2.在实体类上加上@version注解 对应表也需要对应字段
接着我们进行修改操作。
可以看到在where条件后加上了版本号的判断。
逻辑删除
首先在yml里面设置逻辑删除字段,数据库添加对应字段。
可以看到删除变成了更新。数据库逻辑删除字段变成了1
此时我们在进行查询,我们刚刚删除的数据查询不到了。
写在最后
愿成长路上有你有我,回首往事,不因虚度年华而悔恨,也不因碌碌无为而羞耻。
MybatisPlus-注解相关推荐
- mybatis-plus 注解 通过中间表进行一对多、多对多查询(三表)
mybatis-plus 注解 通过中间表进行一对多.多对多查询 三张表之间的关系 需求 User实体类 Car实体类 UserDao接口 CarDao接口 user数据表 car数据表 user_c ...
- Springboot将mybatis替换为mybatis-plus
知识点: 1.Mybatis-plus相比mybatis,功能更加强大,简而言之,不需要我们去写mapper.xml配置,但是对于特殊需求的sql语句,还是需要写mapper.xml文件中的sql语句 ...
- leftjoin多表联合查询_结合mybatis-plus 实现无XML多表联合查询
项目地址:github multipleselect java mybatis 多表查询 简介 实现简单的实体类操作多表, 首先你的项目是使用了mybatis-plus 才可以使用 设计说明 如何关联 ...
- mysql plus多表关联_结合mybatis-plus 实现实体操作多表关联查询
这里将告诉您结合mybatis-plus 实现实体操作多表关联查询,教程操作方法: multipleselect java mybatis 实现简单多表查询 简介 实现简单的实体类操作多表, 首先你的 ...
- 搭建基础后台框架及整合Swagger2及整合mybatisPlus代码器
1.创建父工程管理所有的依赖 (1).删除 src 目录,指定pom (2)导入依赖 <parent><groupId>org.springframework.boot< ...
- 常用注解,依赖,常用类,插件和其它(自用)
目录 参考 下面是自己写的笔记 java注解大全参考: 实用的注解: @Controller 和 @RestController @RequestMapper @PathVariable 和 @Req ...
- Spring Boot开发介绍
Spring Boot开发介绍 Spring Boot介绍 安装Spring Boot插件 创建Spring Boot项目 Idea 创建Spring Boot项目失败 解决方法1-更换为aliyun ...
- Java实现数据库敏感信息脱敏方案
针对特定属性下的数据加密传输,例如手机号,身份证,地址信息等. 文章目录 一. 为什么要数据加密 二. 加密措施 2.1 敏感信息脱敏 2.2 可逆对称加密 2.3 mybatis-plus注解加密方 ...
- SpringBoot+Vue项目实例开发及部署
目录 一.SpringBoot快速上手 1.SpringBoot介绍 2.SpringBoot特点 3.快速创建SpringBoot应用 4.SpringBoot开发热部署 二.Web开发基础 1.W ...
- mysql 数据库字段类型大全
数值 tinyint 1.十分小的数据,占用1个字节,有符号的范围是-128 - 127,无符号的范围是 从 0 到 255 的整型数据 2.java类型Integer smallint 1.较小的数 ...
最新文章
- 达达集团智能弹性伸缩架构的设计与落地实践
- MongoDB应用篇
- 构建自己的简单微服务架构(开源)
- 卢松松分享独立博客运营推广经验
- UVALive5379 UVA270 Lining Up【输入输出+水题】
- clion如何创建c项目_使用CMake和Clion构建C项目 (Structuring C Project with CMake and Clion)...
- EMNLP'21 | 基于互指导和句间关系图的论点对抽取
- 生态环境影响评价技术应用及典型实践案例分析
- 深度学习常用软件包和基本环境配置
- arduino两轮平衡车(二)-- 原理讲解
- 4.6.2 IPv6的地址
- Windows 技术篇 - win10开机启动项设置方法,windows启动项里没有的程序设置开机启动方法
- 基于Echarts实现可视化数据大屏大数据可视化
- form表单的submit()和onsubmit()的区别
- 出现腰肌劳损怎么办?治疗护理6步走,帮你摆脱痛苦
- 哪吒S亮相广州车展,定位B级燃油车颠覆者
- 通过「解救人质」小游戏教你学会碰撞检测
- 2021叮当百度URL链接批量采集软件【一分钟采三千条】
- PC市场份额快速回升,荣耀欲挑战苹果华为?
- 阿里云服务器2核4G配置性能参数表
热门文章
- 施耐德EAE功能重点功能介绍
- linux 设备树和atags
- 车站计算机联锁仿真设计,某折返站计算机联锁软件设计
- Kubernetes Ingress Nginx使用
- 混频通信的matlab仿真,通信电子电路Matlab_Simulink仿真
- 关于IE11安装 “操作系统不受支持报错” 记录
- 计算机网络体系结构分为几种,几种计算机网络体系结构的对比分析
- modelsim仿真时,有Hiz值或输出为红线时的一种可能原因
- Node.js 、Newman安装配置及报错问题解决
- stm32f107串口乱码