共计 893 个字符,预计需要花费 3 分钟才能阅读完成。
MyBatis 分页插件 PageHelper
如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页。
PageHelper 是一个 Mybatis 的分页插件, 负责将已经写好的 sql 语句, 进行分页加工.
PageHelper 的使用
优点:无需你自己去封装以及关心 sql 分页等问题,使用很方便,前端取数据也很方便。
1. 引入 pagehelper 依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2<ersion>
</dependency>
2. 配置 applicationContext.xml 文件
在 spring 的 sqlsessionfactory 的 bean 中增加一个分页拦截器属性
<bean id=”sqlSessionFactory” class=”org.mybatis.spring.SqlSessionFactoryBean”>
<property name=”plugins”>
<array>
<bean class=”com.github.pagehelper.PageInterceptor”>
<property name=”properties”>
<value>
<!– 这里设定你的数据库类型 –>
helperDialect=mysql
</value>
</property>
</bean>
</array>
</property>
</bean>
3. 调用 PageHelper 的方法
在 service 方法中调用 PageHelper 的静态方法 startPage(注意一定要在实际查询数据库之前调用该方法), 传入需要查询的页号和每页大小,返回 PageHelper 插件提供的 PageInfo 对象。即可自动完成数据库物理分页,无须在你的 sql 语句中手工加 limit 子句
4. PageInfo 的结构
关于 PageInfo 的结构请参看源码,这里通过返回的 json 来展示。根据需要取 PageInfo 对象的相应属性即可。