Mybatis-分页插件PageHelper使用

分页插件PageHelper--Mybatis分页插件

如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件

该插件目前支持Oracle,Mysql,MaraDB,SQLite,Hsqldb,PostgreSQL六种数据库分页

 

使用方法

1、加入PageHelper依赖

		<!-- 分页插件 -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>4.1.4</version>
		</dependency>

2、在SqlMapConfig文件中导入此插件 plugins-plugin

  • 拦截器到导入的包找全限定名interceptor:com.github.pagehelper.PageHelper
  • 数据库类型<properties name="dialect" value="mysql"/>
<!-- mybatis插件配置 -->
	<plugins>
	    <plugin interceptor="com.github.pagehelper.PageHelper">
	    	<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库--> 
	        <property name="dialect" value="mysql"/>
	    </plugin>
	</plugins>

3、测试,使用步骤

使用前,你的项目必须有一个数据库查询,因为PageHelper的startPage方法只针对其下第一个数据库查询生效

PageHelper.startPage(num,pageSize),num是指当前页数,pageSize是指一页多少条记录

使用步骤

  • 初始化spring容器,只要初始化dao层
  • 得到一个查询的类
  • 执行sql语句之前设置分页信息,使用PageHelper.startPage(num,pageSize)(此方法只对下面第一个sql语句查询生效)
  • 执行mysql查询
  • 取分页信息,PageInfo,可以取到总记录数、总页数、当前页码等

测试代码

package com.bbs.pagehelper;

import java.util.List;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xue.bbs.dao.ArticleMapper;
import com.xue.bbs.pojo.Article;

public class PageHelperTest {
	
	@SuppressWarnings("resource")
	@Test
	public void test() {
		//初始化spring容器
		ApplicationContext applicationContext = new 
				ClassPathXmlApplicationContext("classpath:spring/ApplicationContext.xml");
		
		//得到一个查询的bean
		ArticleMapper articleMapper = applicationContext.getBean(ArticleMapper.class);
		
		//设置分页信息 当前页1 一页记录数3条
		PageHelper.startPage(1, 3);
		
		//执行mysql查询
		List<Article> list = articleMapper.selectAll(0);
		
		//得到分页信息
		PageInfo<Article> pageInfo = new PageInfo<>(list);
		System.out.println(pageInfo.getTotal());//获得总记录数
		System.out.println(pageInfo.getPageNum());//获得当前页数
		System.out.println(pageInfo.getSize());//获得一页有多少条记录
		System.out.println(pageInfo.getPages());//获得多少页
		
	}

}

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值