mybatis拦截器
mybatis允许用户自定义拦截器对SQL语句执行过程中的某一个点进行拦截。默认mybatis允许拦截Executor中的方法、ParameterHandler的方法、ResultSetHandler的方法以及StatementHandler中的方法
Executor中的update()、query()、flushStatements()、commit()、rollback()、getTransaction()、close()、isClose()方法
ParameterHandler中的getParameterObject()、setParameters()方法
ResultSetHandler中的handlerResultSets()、handlerOutputParameters()方法
StatementHandler中的prepare()、parameterize()、batch()、update()、query()方法
mybatis使用拦截器需要实现Interceptor接口
1 | public interface Interceptor { |
用户自定义的拦截器除了继承Interceptor接口,还需要使用@Intercepts和@Signature注解进行标识
@Intercepts注解中指定了一个@Signature注解列表
1 |
|
每个@Signature注解中标识了该插件需要拦截的方法信息
1 |
|