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 ...
随机推荐
- CentOS7.x 配置开机启动项目
Centos6.x 下版本主要通过service控制启动与关闭,通过chkconfig来设置开机启动项,但是Centos 7.x 版本采用已经Systemd来控制启动与关闭,Systemd 是 Lin ...
- chmod命令详解
Linux chmod命令 Linux/Unix 的文件调用权限分为三级 : 文件拥有者.群组.其他.利用 chmod 可以藉以控制文件如何被他人所调用. 使用权限 : 所有使用者 语法: chmod ...
- SQL 更新修改删除一个表,库存自动增减的写法
create trigger tri_asbon asb for insert as begin declare @rk int declare @ck int declare @sid varcha ...
- 【java】函数概述
函数也叫方法,是具有一定功能的小程序. 函数格式: 修饰符 返回值类型 函数名(参数类型 形式参数:参数类型 形式参数) { 执行语句: return 返回值; } 返回值类型:函数运行后结果的数据类 ...
- JavaScript学习总结(三、函数声明和表达式、this、闭包和引用、arguments对象、函数间传递参数)
一.函数声明和表达式 函数声明: function test() {}; test(); //运行正常 function test() {}; 函数表达式: var test = functio ...
- jquery位置问题
在页面中添加jquery时,一定要把jquery放在其他js文件前面!不然会出现"$ is not defined", 导致js无法正常运行.
- Delphi中如何进行BASE64解码
//方法1: uses EncdDecd; Memo2.Text:=UTF8Decode( DecodeString(Memo1.Text)); //方法2: // 使用控件 Memo2.Text:= ...
- g++编译后中文显示乱码解决方案(c++)
g++编译后中文显示乱码解决方案 环境:Windows 10 专业版 GCC版本:5.3.0 测试代码: 1 #include <iostream> 2 using namespace ...
- ALGO-22_蓝桥杯_算法训练_数的划分(DP)
问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=,k=,下面三种分法被认为是相同的. ,,; ,,; ,,; 问有多少种不同的分法. 输入格式 n,k 输出格式 ...
- openstack热添加磁盘
假定在虚拟机当中添加了磁盘,但是虚拟机没有识别出来:如何识别出来 可以使用命令 echo '- - -' >/sys/class/scsi_host/host0/scan 使用后就可以识别出来了 ...