mybatis-plus 从2.x到3.x升级指南
mybatis-plus 2.x 到 3.x 有以下改进
- 分页查询可以直接返回
Ipage<T>
的子类(下面会有详细使用说明) Wrapper<T>
实现类的改动
1.
EntityWrapper<T>
更名为QueryWrapper<T>
2.新增一个实现类UpdateWrapper<T>
用于update
方法BaseMapper<T>
的改动
1.去除了
insertAllColumn(T entity)
方法
2.去除了updateAllColumn(T entity)
方法
3.新增update(T entity, Wrapper<T> updateWrapper)
方法
Wrapper<T>
使用
QueryWrapper<T>
与UpdateWrapper<T>
共有方法
方法名 | 说明 |
---|---|
allEq | 基于 map 内容等于= |
eq | 等于 = |
ne | 不等于 <> |
gt | 大于 > |
ge | 大于等于 >= |
lt | 小于 < |
le | 小于等于 <= |
between | BETWEEN 条件语句 |
notBetween | NOT BETWEEN 条件语句 |
like | LIKE '%值%'' |
notLike | NOT LIKE '%值%' |
likeLeft | LIKE '%值' |
likeRight | LIKE '值%' |
-------- | -------- |
isNull | NULL 值查询 |
isNotNull | NOT NULL 值查询 |
in | IN 查询 |
notIn | NOT IN 查询 |
inSql | IN 查询(sql注入式) |
notInSql | NOT IN 查询(sql注入式) |
groupBy | 分组 GROUP BY |
orderByAsc | ASC 排序 ORDER BY |
orderByDesc | DESC 排序 ORDER BY |
orderBy | 排序 ORDER BY |
having | HAVING 关键词(sql注入式) |
-------- | -------- |
or | or 拼接 |
apply | 拼接自定义内容(sql注入式) |
last | 拼接在最后(sql注入式) |
exists | EXISTS 条件语句(sql注入式) |
notExists | NOT EXISTS 条件语句(sql注入式) |
-------- | -------- |
and(Function) | AND (嵌套内容) |
or(Function) | OR (嵌套内容) |
nested(Function) | (嵌套内容) |
QueryWrapper<T>
特有方法
方法名 | 说明 |
---|---|
select | SQL 查询字段内容,例如:id,name,age(重复设置以最后一次为准) |
UpdateWrapper<T>
特有方法
方法名 | 说明 |
---|---|
set | SQL SET 字段(一个字段使用一次) |
分页查询
IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);
以上面的方法为例,入参一个
IPage<T>
接口的子类(可以使用mp自带的一个叫Page<T>
的子类), 返回一个IPage<T>
,其实这个返回的分页类==入参的分页类
, 如果你需要自定义一个分页方法只需要注意一点:入参第一位放置你使用的IPage<T>
子类!
update(T entity, Wrapper<T> updateWrapper)
使用
只需要注意,入参第一位是需要update的实体类,
updateWrapper
里的实体类是用于生成where条件的
mybatis-plus 从2.x到3.x升级指南的更多相关文章
- springboot整合mybatis遇到无法扫描MaperScan包的问题
1.启动类加上@MaperScan注解后,一直报错如下: Error creating bean with name 'platUserMapper' defined in file [D:\work ...
- Mybatis Plus 入坑(含最新3.X配置)
简介 Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 使用它可以简化单表的操作, 节省开发时间, 国人 ...
- Spring Boot 2.0 升级指南
Spring Boot 2.0 升级指南 前言 Spring Boot已经发布2.0有5个月多,多了很多新特性,一些坑也慢慢被填上,最近有空,就把项目中Spring Boot 版本做了升级,顺便整理下 ...
- Hibernate----面试题
什么是Hibernate? hibernate是一个基于ORM持久框架,可以让程序员以面向对象的思想操作数据库,提高生产效率. 什么是ORM? orm不过是一种思想,对象关系映射.是对象关系模型,如h ...
- GitHub 上值得推荐的开源电子书
GitHub 上值得推荐的开源电子书 开源不仅局限于软件领域,开源同样意味着自由选择的权利和对知识开放的追求. 可以参照这篇文章,已附上所有超链接编程类开放书籍荟萃-Linux Story 语言无关类 ...
- Java初中级程序员面试题宝典
Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...
- Java开发者职业生涯要看的200+本书
作者:老刘链接:https://www.zhihu.com/question/29581524/answer/684872838来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- Solon 1.6.18 发布,轻量级应用开发框架
关于官网 千呼万唤始出来: https://solon.noear.org .整了一个月多了...还得不断接着整! 关于 Solon Solon 是一个轻量级应用开发框架.支持 Web.Data.Jo ...
- 【分享】标准springMVC+mybatis项目maven搭建最精简教程
文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...
- Java MyBatis 插入数据库返回主键
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...
随机推荐
- flume简介
组件介绍: 代理 Flume Agent Flume内部有一个或者多个Agent 每一个Agent是一个独立的守护进程(JVM) 从客户端哪儿接收收集,或者从其他的Agent哪儿接收,然后迅速的将获取 ...
- java注解的自定义和使用
小伙伴们.今天我们来说说注解.标志@ .针对java不同版本来说,注解的出现是在jdk1.5 但是在jdk1.5版本使用注解必须继续类的方法的重写,不能用于实现的接口中的方法实现,在jdk1.6环境下 ...
- InfluxDB学习之InfluxDB的基本操作| Linux大学
来源地址:https://www.linuxdaxue.com/influxdb-study-series-manual.html 本文属于<InfluxDB系列教程>文章系列,该系列共包 ...
- 黄聪:Fiddler对安卓应用手机抓包图文教程
做开发需要抓取手机app的http/https的数据包,想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得到一些不为人知的api,比如还可以干些“坏事”... 需要工具: Fiddle ...
- 黄聪:实用WordPress SQL查询方法
为所有文章和页面添加自定义字段 这段代码可以为WordPress数据库内所有文章和页面添加一个自定义字段. 你需要做的就是把代码中的‘UniversalCutomField‘替换成你需要的文字,然后把 ...
- 【maven】之使用import scope解决maven继承(单)问题
想必大家在做SpringBoot应用的时候,都会有如下代码: <parent> <groupId>org.springframework.boot</groupId> ...
- LeetCode——9. Palindrome Number
一.题目链接:https://leetcode.com/problems/palindrome-number/ 二.题目大意: 给定一个整数,判断它是否为一个回文数.(例如-12,它就不是一个回文数: ...
- 51nod1302 矩形面积交
有2N个矩形,这些矩形被标号为0 ~ 2N-1,对于第i个矩形其长宽分别为X[i]与Y[i].现在要把这2N个矩形分为两组,每组N个,每个矩形恰好分到两组中的一组里.分成两组后,设两组分别为A组.B组 ...
- 身高安排方法(基础dfs)
P1085 时间限制: 0 Sec 内存限制: 128 MB提交: 64 解决: 44[提交][状态][讨论版][命题人:外部导入] 题目描述 Matrix67发现身高接近的人似乎更合得来.Mat ...
- 廖雪峰Java2面向对象编程-5包和classpath-1静态字段和方法
1.静态字段 1.1定义:用static修饰的字段称为静态字段 普通字段在每个实例中都有自己的一个独立的空间 静态字段只有1个共享空间,所有实例都共享该字段. public class Person{ ...