Mybaits-plus2升级3实战

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.参数}

最后祝大家升级成功!事业有成

Mybatis-plus是MyBatis增强工具包,用于简化CRUD操作。该工具包为MyBatis提供了一些高效,有用,即用的功能,使用它可以有效地节省您的开发时间。Mybatis-plus特征与MyBatis完全兼容 启动时自动配置 开箱即用的用于操作数据库的界面 强大而灵活的条件包装器 生成主键的多种策略 Lambda样式的API 全能和高度可定制的代码生成器 自动分页操作 SQL注入防御 支持活动记录 支持可插拔的自定义界面 内置许多有用的扩展Mybatis-plus功能1、单表CURD(简单 + 批量)操作,自动完成(支持 like 比较等查询)。 2、分页插件,Count查询自动或自定义SQL查询。 3、Spring根据不同环境加载不同配置支持(支持typeAliasesPackage通配符扫描)。 【自动生成Entity Mapper Service文件】Mybatis-plus(Mybatis增强工具包) v3.3.2更新日志分页参数提取,单元测试用例修复 达梦数据库代码生成器表过滤支持 微软数据库代码生成器表过滤支持 修复代码生成器属性字段规则错误 SelectById 支持自定义方法名 修复分页插件获取数据库类型问题 Json转换器空值处理 bugfix(mybatis-plus-generator):SQL类型返回错误问题 调整未知方言异常,自动识别url转换小写匹配. fix: 初始化TableInfo中遇到多个字段有@TableId注解时未能抛出异常的问题 SuperController有Class参数的set方法 增加方法StrategyConfig.setSuperServiceImplClass(java.lang.Class<?>). 代码生成器命名策略调整. 扩展分页缓存key值计算. 去除方法推测,直接访问属性字段. 修正枚举处理器类型不匹配比较. 修改表前缀匹配方式 修改在Mybatis全局配置文件中设置分页插件参数不生效问题 修改在Mybatis全局配置文件中设置分页插件参数不生效问 修复PR未指定解析器的时候引发空指针 增加分页插件limit参数配置 修复指定superEntityClass重复生成父类字段问题 无主键的情况无需导入IdType与TableId包 调整生成BaseResultMap格式 支持lombok模式下选择是否进行链式set生成 修复解析器for update错误 过滤PG约束列(只留下主键约束) 增加生成器禁用模板生成 fix(kotlin): 修复动态表名BUG,最大努力替换表名 修复PG约束生成重复属性字段问题 fix(kotlin): 将LambdaUtils中缓存的key改为String 代码生成器增加数据库关键字处理接口 fix github/issues/2454 支持注解可继承 新增 AES 加密数据库用户名密码 优化方法入参泛型,支持更多类型 修复代码生成器开启移除is前缀生成实体缺少包导入 fixed github issues/2470Mybatis-plus截图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值