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条件的

原文 https://github.com/baomidou/mybatis-plus-doc/blob/mp3/update-3.x.md#%E4%BB%8E2x%E5%88%B03x%E5%8D%87%E7%BA%A7%E6%8C%87%E5%8D%97

官方文档:http://mp.baomidou.com

mybatis-plus 从2.x到3.x升级指南的更多相关文章

  1. springboot整合mybatis遇到无法扫描MaperScan包的问题

    1.启动类加上@MaperScan注解后,一直报错如下: Error creating bean with name 'platUserMapper' defined in file [D:\work ...

  2. Mybatis Plus 入坑(含最新3.X配置)

    简介 Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 使用它可以简化单表的操作, 节省开发时间, 国人 ...

  3. Spring Boot 2.0 升级指南

    Spring Boot 2.0 升级指南 前言 Spring Boot已经发布2.0有5个月多,多了很多新特性,一些坑也慢慢被填上,最近有空,就把项目中Spring Boot 版本做了升级,顺便整理下 ...

  4. Hibernate----面试题

    什么是Hibernate? hibernate是一个基于ORM持久框架,可以让程序员以面向对象的思想操作数据库,提高生产效率. 什么是ORM? orm不过是一种思想,对象关系映射.是对象关系模型,如h ...

  5. GitHub 上值得推荐的开源电子书

    GitHub 上值得推荐的开源电子书 开源不仅局限于软件领域,开源同样意味着自由选择的权利和对知识开放的追求. 可以参照这篇文章,已附上所有超链接编程类开放书籍荟萃-Linux Story 语言无关类 ...

  6. Java初中级程序员面试题宝典

    Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...

  7. Java开发者职业生涯要看的200+本书

    作者:老刘链接:https://www.zhihu.com/question/29581524/answer/684872838来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  8. Solon 1.6.18 发布,轻量级应用开发框架

    关于官网 千呼万唤始出来: https://solon.noear.org .整了一个月多了...还得不断接着整! 关于 Solon Solon 是一个轻量级应用开发框架.支持 Web.Data.Jo ...

  9. 【分享】标准springMVC+mybatis项目maven搭建最精简教程

    文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...

  10. Java MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

随机推荐

  1. Golang cpu的使用设置--GOMAXPROCS

    以下测试,使用的Go版本是1.8.3 不设置 如果没有调用runtime.GOMAXPROCS 去设置CPU,Golang默认使用所有的cpu核. 测试机器CPU有4个核,测试代码开启4个gorout ...

  2. Linux之chgrp

    命令功能: 在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change  ...

  3. Git-git rebase详解

    git合并代码方式主要有两种方式,分别为:1.merge处理,这是大家比较能理解的方式.2.rebase处理,中文此处翻译为衍合过程. git rebase操作讲解例子: cd /usr/local/ ...

  4. golang 字符串统计

    golang内建只认utf8 如果传递的字符串里含有汉字什么的,最好使用 utf8.RuneCountInString() 统计 字符串统计几种方法: - 使用 bytes.Count() 统计- 使 ...

  5. php 文件读取方式

    整理了一下PHP中读取文件的几个方法,方便以后查阅. 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件 ...

  6. Django 链接mysql

    第一步:settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'testdjango ...

  7. ubuntu 17.10.1 安装 virtual box 增强工具

    ubuntu 17.10.1 安装 virtual box 增强工具遇到 “  Please install the gcc make perl packages from your distribu ...

  8. IntelliJ IDEA maven项目 ***

    创建一个新Maven项目 new 一个project 不选择任何Maven模板 起个GroupId.ArifactId 起个项目名.注意:Idea_Project是存放此项目的工作区间,mavenDe ...

  9. vue项目中, 字段信息为空时不渲染,是真的不渲染吗

    代码 样式,宽度pro_proj 此class设置有宽度,考虑字数如果太多就进入下一行就没有设置高度 样式改为 数据 渲染. 开始以为,null时vue不渲染,然后审查元素,发现渲染的dom是存在的, ...

  10. SVM清晰讲解——线性可分问题

    转载作者:liangdas 引言: 1995年Cortes和Vapnik于首先提出了支持向量机(Support Vector Machine),由于其能够适应小样本的分类,分类速度快等特点,性能不差于 ...