【MybatisPlus】快速使用MybatisPlus和几种常见插件

您所在的位置:网站首页 插件功能怎么使用的 【MybatisPlus】快速使用MybatisPlus和几种常见插件

【MybatisPlus】快速使用MybatisPlus和几种常见插件

2024-07-07 07:10| 来源: 网络整理| 查看: 265

目录

什么是MybatisPlus

搭建MybatisPlus环境

实体类常用注解

@TableName

@TableId

 @TableField

@TableLogic

CRUD接口

条件构造器

功能一:MP分页插件

功能二:生成MP的分布式主键Id

一. ASSIGN_ID(雪花算法)

二. AUTO (自动增长策略)

三. 自定义输入策略

功能三:乐观锁插件

功能四:防全表更新与删除插件 

公司使用mp进行开发,所以花两天来学习mp,推荐mp官方文档进行学习,mp得几个插件还是非常不错得,条件构造器对于单表查询来说也十分方便,

这篇文章能让你快速了解什么是条件构造器(QueryWrapper),如何使用mp来进行crud,以及四个插件的使用,

什么是MybatisPlus

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

 简介 | MyBatis-Plus (baomidou.com)

搭建MybatisPlus环境

1. Pom文件

com.baomidou mybatis-plus-boot-starter 3.5.2 com.baomidou mybatis-plus-boot-starter-test 3.5.2

2. 启动类上加@MapperScan注解

@MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper")

3. mapper继承BaseMapper,泛型必须填实体类

@Repository public interface UserMapper extends BaseMapper { } 实体类常用注解

当实体类字段和数据库字段不相同时,一般使用以下注解进行映射(括号中填数据库字段)

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

 @TableField 描述:字段注解(非主键) @TableName("sys_user") public class User { @TableId private Long id; @TableField("sys_name") private String name; private Integer age; private String email; } 属性类型必须指定默认值描述valueString否""数据库字段名existboolean否true是否为数据库表字段conditionString否""字段 where 实体查询比较条件,有值设置则按设置的值为准,没有则为默认全局的 %s=#{%s},参考(opens new window)updateString否""字段 update set 部分注入,例如:当在version字段上注解update="%s+1" 表示更新时会 set version=version+1 (该属性优先级高于 el 属性)insertStrategyEnum否FieldStrategy.DEFAULT举例:NOT_NULLinsert into table_a(column) values (#{columnProperty})updateStrategyEnum否FieldStrategy.DEFAULT举例:IGNOREDupdate table_a set column=#{columnProperty}whereStrategyEnum否FieldStrategy.DEFAULT举例:NOT_EMPTYwhere column=#{columnProperty}fillEnum否FieldFill.DEFAULT字段自动填充策略selectboolean否true是否进行 select 查询keepGlobalFormatboolean否false是否保持使用全局的 format 进行处理jdbcTypeJdbcType否JdbcType.UNDEFINEDJDBC 类型 (该默认值不代表会按照该值生效)typeHandlerClass


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3