mybatis-plus 从2.x到3.x升级指南

    技术2025-12-27  13

    mybatis-plus 2.x 到 3.x 有以下改进

    Wrapper分为QueryWrapper、UpdateWrapper、LambdaQueryWrapper、LambdaUpdateWrapper了,EntityWrapper已经废弃了

    分页查询可以直接返回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小于等于 <=betweenBETWEEN 条件语句notBetweenNOT BETWEEN 条件语句likeLIKE '%值%''notLikeNOT LIKE '%值%'likeLeftLIKE '%值'likeRightLIKE '值%'----------------isNullNULL 值查询isNotNullNOT NULL 值查询inIN 查询notInNOT IN 查询inSqlIN 查询(sql注入式)notInSqlNOT IN 查询(sql注入式)groupBy分组 GROUP BYorderByAscASC 排序 ORDER BYorderByDescDESC 排序 ORDER BYorderBy排序 ORDER BYhavingHAVING 关键词(sql注入式)----------------oror 拼接apply拼接自定义内容(sql注入式)last拼接在最后(sql注入式)existsEXISTS 条件语句(sql注入式)notExistsNOT EXISTS 条件语句(sql注入式)----------------and(Function)AND (嵌套内容)or(Function)OR (嵌套内容)nested(Function)(嵌套内容)

    QueryWrapper<T>特有方法

    方法名说明selectSQL 查询字段内容,例如:id,name,age(重复设置以最后一次为准)

    UpdateWrapper<T>特有方法

    方法名说明setSQL 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条件的

    Processed: 0.016, SQL: 9