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