拦截器概述
- 像springmvc一样,mybatis也提供了拦截器实现,只是他们拦截的对象不同。
- mybatis给Executor、StatementHandler、ResultSetHandler、ParameterHandler提供了拦截器功能,
- Executor提供了增删改查的接口.
- StatementHandler负责处理Mybatis与JDBC之间Statement的交互.
- ResultSetHandler负责处理Statement执行后产生的结果集,生成结果列表.
- ParameterHandler是Mybatis实现Sql入参设置的对象。
- 拦截器采用了责任链模式,把请求发送者和请求处理者分开,各司其职。
立即开始
<plugins>
<plugin interceptor="com.tamguo.demo.interceptor.StatementInterceptor"></plugin>
</plugins>
@Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})})
public class StatementInterceptor implements Interceptor {
public Object intercept(Invocation invocation