MyBatis 的插件有哪些?

MyBatis 主要有以下几个常用的插件:

  1. 鉴权插件(AuthorizationPlugin)
    在每次执行SQL前,检查用户是否有权限执行。通过 onboarding InvocationHandler实现。
  2. 分页插件(PageHelper)
    在执行SQL前,自动加入分页逻辑。通过重写Executor和StatmentHandler实现。
  3. 缓存插件(EhcachePlugin、OcachePlugin等)
    为Mybatis添加二级缓存支持。通过拦截Executor和StatementHandler实现。
  4. 日志插件(Log4jPlugin、Slf4jPlugin)
    使用对应日志框架打印Mybatis执行的SQL及时长。
  5. 性能分析插件(StatisticsPlugin)
    统计Mybatis各类方法的执行时间和调用次数。
  6. 事务插件(SpringPlugin、SpringManagedTransactionPlugin等)

为Mybatis提供完善的事务支持,与Spring整合。

这些插件主要的功能包括:

  • 添加POJO处理
  • 分页处理
  • 日志记录
  • 事务处理
  • 执行统计
  • 二级缓存

在Mybatis中:

  • 插件通过实现 Interceptor接口插入拦截点
  • 在mybatis-config中注册插件
  • 通过Invovation接口访问SQL语句

通过插件在Mybatis的生命周期中做各项处理。