欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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