mybatis拦截器类型
时间: 2023-07-03 11:22:32 浏览: 116
MyBatis提供了三种拦截器类型:
1. Executor拦截器
Executor是MyBatis执行器的核心接口,它定义了执行数据库操作的方法。Executor拦截器可以拦截Executor的四种操作:update、query、flushStatements和commit/rollback。
2. StatementHandler拦截器
StatementHandler是MyBatis底层的核心接口,它定义了操作JDBC Statement对象的方法。StatementHandler拦截器可以拦截StatementHandler的三种方法:prepare、parameterize和batch。
3. ParameterHandler拦截器
ParameterHandler是MyBatis参数处理器的核心接口,它定义了设置SQL语句参数的方法。ParameterHandler拦截器可以拦截ParameterHandler的一个方法:setParameters。
在编写拦截器类时,需要通过@Intercepts注解指定拦截器类型和拦截的方法。例如,对于Executor拦截器:
```
@Intercepts({
@Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class}),
@Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class})
})
public class MyInterceptor implements Interceptor {
// ...
}
```
同时,MyBatis还提供了一些可插拔的插件,比如分页插件PageHelper和缓存插件EhCache等,可以直接在项目中使用。
阅读全文
相关推荐















