MyBatis 主要有以下几个常用的插件:
- 鉴权插件(AuthorizationPlugin)
在每次执行SQL前,检查用户是否有权限执行。通过 onboarding InvocationHandler实现。 - 分页插件(PageHelper)
在执行SQL前,自动加入分页逻辑。通过重写Executor和StatmentHandler实现。 - 缓存插件(EhcachePlugin、OcachePlugin等)
为Mybatis添加二级缓存支持。通过拦截Executor和StatementHandler实现。 - 日志插件(Log4jPlugin、Slf4jPlugin)
使用对应日志框架打印Mybatis执行的SQL及时长。 - 性能分析插件(StatisticsPlugin)
统计Mybatis各类方法的执行时间和调用次数。 - 事务插件(SpringPlugin、SpringManagedTransactionPlugin等)
为Mybatis提供完善的事务支持,与Spring整合。
这些插件主要的功能包括:
- 添加POJO处理
- 分页处理
- 日志记录
- 事务处理
- 执行统计
- 二级缓存
在Mybatis中:
- 插件通过实现 Interceptor接口插入拦截点
- 在mybatis-config中注册插件
- 通过Invovation接口访问SQL语句
通过插件在Mybatis的生命周期中做各项处理。