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 ...
随机推荐
- Golang cpu的使用设置--GOMAXPROCS
以下测试,使用的Go版本是1.8.3 不设置 如果没有调用runtime.GOMAXPROCS 去设置CPU,Golang默认使用所有的cpu核. 测试机器CPU有4个核,测试代码开启4个gorout ...
- Linux之chgrp
命令功能: 在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change ...
- Git-git rebase详解
git合并代码方式主要有两种方式,分别为:1.merge处理,这是大家比较能理解的方式.2.rebase处理,中文此处翻译为衍合过程. git rebase操作讲解例子: cd /usr/local/ ...
- golang 字符串统计
golang内建只认utf8 如果传递的字符串里含有汉字什么的,最好使用 utf8.RuneCountInString() 统计 字符串统计几种方法: - 使用 bytes.Count() 统计- 使 ...
- php 文件读取方式
整理了一下PHP中读取文件的几个方法,方便以后查阅. 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件 ...
- Django 链接mysql
第一步:settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'testdjango ...
- ubuntu 17.10.1 安装 virtual box 增强工具
ubuntu 17.10.1 安装 virtual box 增强工具遇到 “ Please install the gcc make perl packages from your distribu ...
- IntelliJ IDEA maven项目 ***
创建一个新Maven项目 new 一个project 不选择任何Maven模板 起个GroupId.ArifactId 起个项目名.注意:Idea_Project是存放此项目的工作区间,mavenDe ...
- vue项目中, 字段信息为空时不渲染,是真的不渲染吗
代码 样式,宽度pro_proj 此class设置有宽度,考虑字数如果太多就进入下一行就没有设置高度 样式改为 数据 渲染. 开始以为,null时vue不渲染,然后审查元素,发现渲染的dom是存在的, ...
- SVM清晰讲解——线性可分问题
转载作者:liangdas 引言: 1995年Cortes和Vapnik于首先提出了支持向量机(Support Vector Machine),由于其能够适应小样本的分类,分类速度快等特点,性能不差于 ...