作用:增强mybatis的核心功能
底层原理:动态代理
四大核心对象
ParameterHandler(处理SQL的参数对象)
ResultSetHandler(处理SQL的返回结果集)
StatementHandler(执行SQL语句)
Executor(mybatis执行器,执行增删改查)
插件配置步骤
1、 借助责任链的模式进行对拦截处理
2、 动态代理
3、 作用于Mybatis作用域对象
(一)插件的签名-Intercepts
Signature:数组参数
Type:拦截的对象
Method:对象的哪个方法
Args:对象的方法参数
(二)插件接口-Interceptor
实现方法
1、SetProperties(Properties properties)---------初始化参数相关方法
2、Plugin(Object o)-----------创建代理对象
Plugin.wrap(..)
3、Intercept(Invocation invocation)---------------拦截目标对象方法
(三)Mybatis的XML文件配置
多插件开发过程
1、 创建代理对象时,按照插件配置顺序执行包装
2、 执行目标方法后,按照按照代理的逆向执行
分页
内存分页:一次查询全部数据,放在内存中抽取
物理分页:每次查询需要的数据,与db交互频繁
MySQL关键字:limit
pageHelper物理分页步骤
1、 maven依赖:pagehelper.jar
2、 使用Page方法得到分页对象
3、 使用PageInfo方法返回分页对象信息