Mybatis插件

分页功能

mybatis的分页默认是基于内存分页的(查出所有,再截取),数据量大的情况下效率较低,不过使用mybatis插件可以改变该行为,只需要拦截StatementHandler类的prepare方法,改变要执行的SQL语句为分页语句即可。

公共字段统一赋值

一般业务系统都会有创建者,创建时间,修改者,修改时间四个字段,对于这四个字段的赋值,实际上可以在DAO层统一拦截处理,可以用mybatis插件拦截Executor类的update方法,对相关参数进行统一赋值即可;

性能监控

对于SQL语句执行的性能监控,可以通过拦截Executor类的update, query等方法,用日志记录每个方法执行的时间;

支持拦截的方法

  • 执行器Executor(update、query、commit、rollback等方法);

  • 参数处理器ParameterHandler(getParameterObject、setParameters方法);

  • 结果集处理器ResultSetHandler(handleResultSets、handleOutputParameters等方法);

  • SQL语法构建器StatementHandler(prepare、parameterize、batch、update、query等方法);

拦截阶段

 

posted @ 2022-01-14 17:03  KLAPT  阅读(37)  评论(0编辑  收藏  举报