添加依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
配置SqlSessionFactoryBean
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="typeAliasesPackage" value="com.zjitc.pojo"></property>
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<prop key="helperDialect"></prop>
<prop key="reasonable"></prop>
</props>
</property>
</bean>
</array>
</property>
</bean>
MyBatis 启动时扫描 标签, 注册到Configuration 对象的 InterceptorChain 中。property 里面的参数,会调用setProperties()方法处理。
完成
简单用法
分页插件的简单用法
PageHelper.startPage(1, 3);
List<UserInfo> blogs = UserInfoMapper.findAll();
PageInfo page = new PageInfo(UserInfo,3);
原理
不修改对象代码前提下,如何对行为进行修改
也就是这个插件的原理代理模式,而插件是层层拦截的也就是责任链模式
先创建CachingExcecutor ,Executor对其拦截