Mybatis 使用PageHelper分页

1.引入分页插件

在pom.xml下添加如下依赖

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>最新版本</version>
</dependency>

2.配置拦截器插件

com.github.pagehelper.PageHelper 现在是一个特殊的 dialect 实现类,是分页插件的默认实现类。在spring-mybatis.xml中添加如下

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	<property name="dataSource" ref="dataSource" />
	<property name="mapperLocations" value="classpath:com/java/generator/mapper/*.xml"></property>
	<!-- 配置分页插件 -->
	<property name="plugins">
		<array>
			<bean class="com.github.pagehelper.PageHelper">
				<property name="properties">
					<value>
						dialect=mysql
						reasonable=true
					</value>
				</property>
			</bean>
		</array>
	</property>
</bean>

3.代码实现

@RequestMapping("/query")
@ResponseBody
public JSONObject queryEmp() {
	JSONObject backJson = new JSONObject();
	EmpExample empExample = new EmpExample();
	empExample.createCriteria();
	//pageNum:页数  pageSize:条目数   默认查询总数count
	Integer pageNum = 2;
	Integer pageSize = 2;
	try {
		PageHelper.startPage(pageNum, pageSize);
		List<Emp> empList = empMapper.selectByExample(empExample);
		PageHelper.orderBy("empNo desc");
		PageInfo<Emp> empPage = new PageInfo<Emp>(empList);
		List<Emp> list = empPage.getList();
		backJson.put("DATA", list);
		backJson.put("STATUS", "0");
		backJson.put("MSG", "SUCCESS");
		log.info("backJson :" + backJson);
	} catch (Exception e) {
		// TODO: handle exception
		backJson.put("STATUS", "-1");
		backJson.put("MSG", "Exception");
		log.info("queryEmp Exception :" + e);
		return backJson;
	}
	return backJson;
}

具体详细的参数介绍和使用的各种场景见 PageHelper详解


猜你喜欢

转载自blog.csdn.net/shy415502155/article/details/80800894