mybatis自制插件拦截四个处理类
- Executor 调用方法
- StatementHandler 执行sql
- PameterHandler 参数处理
- ResultSetHandler 结果处理
mybatis执行流程: 调用方法交给BaseExecutor,从Configuration中获取MappedStatement,根据类型生成相应的StatementHandler并包装拦截器链,这期间会做#{}标识的替换,然后由StatementHandler处理 sql的执行。 在初始化工厂时,mybatis会解析xml文件并生成MappedStatement装入Configuration类
分页拦截器OffsetLimitInterceptor针对Executor修改MAPPED_STATEMENT参数 批量插入拦截器InsertBatchInterceptor针对Executor执行批量操作直接返回结果,不执行后续拦截操作(可以改进再各个拦截进行参数处理,和mybatis契合更深)