Mybatis Plus 高级用法
程序员文章站
2022-03-03 19:45:37
...
以下文章记录Mybatis Plus的一些高级用法,这些知识包括如何扩展一些Mybatis Plus提供的接口。
1. 自动填充
实现MetaObjectHandler接口的insertFill(......)和updateFill(......)方法
填充优化
2. 乐观锁
防止更新冲突,通常采用一个版本号字段,在Mybatis Plus的的实现中通过添加插件
OptimisticLockerInterceptor 的配置BEAN。同时在实体类中表示版本的字段上加上@Version
注解。
3. 性能分析
PerformanceInterceptor插件,3.2.0后该插件移出,改用第三方扩展插件
4. 使用mapper的二级分页缓存
使用 CachePaginationInterceptor 插件替换默认分页,这样支持分页缓存
当然最佳做法还是将缓存放到 service 层,你可以自定义自己的 BaseServiceImpl 重写注解父类方法,继承自己的实现。
且在3.x版本中CachePaginationInterceptor 插件已经弃用
5.多租户实现
依赖分页插件PaginationInterceptor实现,本质是拦截时机问题,其次需要依赖多租户SQL解析器TenantSqlParser。并实现TenantHandler接口
6.动态表名SQL解析器
动态表名一般用于数据分散在多个相同表结构的不同名称的表中,例如日志数据一个月一张表。当然分库分表插件也可以实现。依赖于分页插件PaginationInterceptor,需要实现动态表名SQL解析器DynamicTableNameParser接口
7. SQL注入器
Mybatis Plus 通过SQL注入器为我们提供了强大的增加通用接口方法的能力,要注意的是在一个项目里只能配置一个注入器。同时框架也为大家提供了一些选装件像
InsertBatchSomeColumn
LogicDeleteByIdWithFill
AlwaysUpdateSomeColumnById
上一篇: Mybatis Plus 高级用法
下一篇: 10条如何正确使用日志的技巧