Mybaits-plus2升级3实战
2.0到3.0主要升级的点:
1.升级 JDK 8 + 优化性能 Wrapper 支持 lambda 语法
2.模块化 MP 合理的分配各个包结构
3.重构注入方法,支持任意方法精简注入模式
4.全局配置下划线转换消灭注入 AS 语句
5.改造 Wrapper 更改为 QueryWrapper UpdateWrapper
6.重构 分页插件 消灭固定分页模型,支持 Mapper 直接返回 IPage 接口
7.新增 Rest Api 通过 Controller 层
8.实体 String 类型字段默认使用 LIKE 查询 SelectOne 默认 LIMIT 1
9.辅助支持 selectMaps 新增 bean map 互转工具类
10.增加 db2 支持 starter 改为 Spring boot 2+ 支持
11.重构生成器提供自定义 DB 多种模板引擎支持
升级过程
第一步
<baomidou.mybatis-plus.version>2.3</baomidou.mybatis-plus.version>
改为
<baomidou.mybatis-plus.version>3.3.2</baomidou.mybatis-plus.version>
第二步
Mapper文件中
import com.baomidou.mybatisplus.mapper.BaseMapper;
改为
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
第三步
service.impl文件中
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
改为
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
第四步
service文件中
import com.baomidou.mybatisplus.service.IService;
改为
import com.baomidou.mybatisplus.extension.service.IService;
第五步
entity文件中
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.annotations.Version;
改为
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
第六步
业务逻辑中所有EntityWrapper改为QueryWrapper
import com.baomidou.mybatisplus.mapper.EntityWrapper;
改为
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
第七步
业务逻辑中所有EntityWrapper改为QueryWrapper
import com.baomidou.mybatisplus.plugins.Page;
改为
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
第八步
selectPage改为page
insert改为save
selectById改为getById
selectList改为list
setSqlSelect改为select
selectOne改为getOne
selectCount改为count
deleteById改为removeById
delete改为remove
selectObjs改listObjs
andNew()改.and(wrapper -> wrapper.)
最麻烦的是。。。。。。
很多小伙伴用2.0版本的时候不习惯用@Param注解(当然习惯用@Param小伙伴请省略这个步骤)
错误写法
List<QueryDpDto> queryAdvertiser(Entity entity);
Xml文件中写法
#{直接参数}
正确写法
List<QueryDpDto> queryAdvertiser(@Param("param") Entity entity);
Xml文件中写法
#{param.参数}
最后祝大家升级成功!事业有成