给券商公司提供技术解决方案时候网上查到这方面内容,spring拦截器使用的比较多,mybatis拦截器还是第一次了解(孤陋寡闻了)。
使用mybatis自定义拦截器,可以对执行的sql进行一层过滤包装。
步骤:
- 实现org.apache.ibatis.plugin.Interceptor接口的拦截器类,并实现其中的方法。
- 添加@Intercepts注解,写上需要拦截的对象和方法,以及方法参数。
- 进行MyBatis配置,配置文件中添加拦截器。
mybatis拦截器有四种类型:Executor、StatementHandler、ParameterHandler和ResultSetHandler
总体概括为:
- Executor提供了增删改查的接口.
- StatementHandler负责处理Mybatis与JDBC之间Statement的交互.
- ResultSetHandler负责处理Statement执行后产生的结果集,生成结果列表.
- ParameterHandler是Mybatis实现Sql入参设置的对象。
Mybatis的拦截器是通过JDK动态代理实现
拦截器实现Mybatis分页的一个思路就是拦截StatementHandler接口的prepare方法。
- 本文标题: mybatis拦截器
- 文章作者: sherryriver(木木三可)
- 发布时间: 2021.04.18
- 本文链接: https://sherryriver.github.io/2021/04/18/mybatis拦截器/
- 许可协议: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。