mybatis-拦截器

 

作用:增强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方法返回分页对象信息

猜你喜欢

转载自www.cnblogs.com/thyHome/p/9080593.html