mybatis拦截器
来源:互联网 发布:淘宝客服兼职可信吗 编辑:程序博客网 时间:2024/06/06 03:03
一、MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。
默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:(摘自官网http://mybatis.github.io/mybatis-3/zh/configuration.html)
- Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
- ParameterHandler (getParameterObject, setParameters)
- ResultSetHandler (handleResultSets, handleOutputParameters)
- StatementHandler (prepare, parameterize, batch, update, query)
二、当执行查询时
调用过程:SqlSession.selectList -- >> Executor.query -->> StatementHandler.query 返回结果,那么参数的设置是在哪呢?
StatementHandler有3个子类:SimpleStatementHandler、PreparedStatementHandler、CallableStatementHandler,
分别对应java.sql的Statement, PreparedStatement,CallableStatement。
在执行Executor.query时,创建Statement(StatementHandler.prepare)后会执行StatementHandler的parameterize,也就是参数化设置。查看源码发现调用的时ParameterHandler 的setParameters方法,在该方法中会设置对应的参数。
三、在查询过程中想要做一些额外的工作。例如:分页等
则可以通过mybatis的拦截器,拦截查询方法:
1、拦截Executor的query方法。拦截多个参数的方法。如果拦截参数少的那个方法,则可以在拦截器中参数源码自定义调用。
2、StatementHandler 的query方法
3、ResultSetHandler 的handleResultSets或handleOutputParameters,直接对结果进行处理
在拦截器中可以修改SQL,设置参数等一系列自定义功能。
- 【myBatis】Mybatis中的拦截器
- Mybatis中的拦截器
- mybatis分页拦截器
- Mybatis拦截器介绍
- Mybatis - 分页拦截器
- mybatis拦截器
- Mybatis 拦截器介绍
- Mybatis 拦截器
- Mybatis拦截器分页
- MyBatis拦截器
- mybatis拦截器
- mybatis分页拦截器
- MyBatis拦截器分页
- Mybatis拦截器
- mybatis拦截器
- Mybatis分页拦截器
- Mybatis分页拦截器
- MyBatis拦截器Inteceptor
- 使用Maven管理Spring
- Android中dip和sp的真正区别
- 4. Python中的序列——字典
- 给Toast写一个布局然后全屏显示
- android 判断当前的联网状况
- mybatis拦截器
- ubuntu语言支持不见了?
- Python实现贝叶斯分类器
- codeforces #25D
- tomcat中三种部署项目的方法
- 安卓开发学习之008 FrameLayout应用之扑克牌的动静态显示
- Gson使用遇到的问题
- Gdbus
- EventBus使用详解(一)——初步使用EventBus