1,maven引入pageHelper依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.0.0</version>
</dependency>
2,mybatis整合pageHelper配置文件
mybatis配置文件
<!-- spring整合MyBatis -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 引入pageHelper配置文件 -->
<property name="configLocation" value="classpath:SqlMapConfig.xml"/>
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:com/sunadver/jimitd/mapping/*.xml"></property>
</bean>
SqlMapConfig.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 配置管理器 -->
<configuration>
<!-- 全局setting配置,根据需要添加 -->
<!-- 配置别名 -->
<typeAliases>
<!-- 批量扫描别名,type写要分页查询的对象的路径 -->
<typeAlias type="org.xxx.xxx.xxx" alias="Orders" />
</typeAliases>
<!-- 配置mapper 由于使用spring和mybatis的整合包进行mapper扫描,这里不需要配置了。 必须遵循:mapper.xml和mapper.java文件同名且在一个目录 -->
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 4.0.0以后版本可以不设置该参数 -->
<property name="dialect" value="mysql"/>
<!-- 该参数默认为false -->
<!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
<!-- 和startPage中的pageNum效果一样-->
<property name="offsetAsPageNum" value="true"/>
<!-- 该参数默认为false -->
<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
<property name="rowBoundsWithCount" value="true"/>
<!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
<!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)-->
<property name="pageSizeZero" value="true"/>
<!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
<!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
<!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
<property name="reasonable" value="true"/>
<!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
<!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
<!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默认值 -->
<!-- 不理解该含义的前提下,不要随便复制该配置 -->
<property name="params" value="pageNum=start;pageSize=limit;"/>
<!-- 支持通过Mapper接口参数来传递分页参数 -->
<property name="supportMethodsArguments" value="true"/>
<!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->
<property name="returnPageInfo" value="check"/>
</plugin>
</plugins>
</configuration>
3,页面设置pageNum与pageSize参数
<script>
$(function() {
/*
* 查询所有人
*/
$("#search_button").click(function() {
var pageNum = "1";
var pageSize = "10";
var ordId = $("#ordId").val();
var tel = $("#tel").val();
var uname = $("#uname").val();
var delivery_id = $("#way").val();
queryAllPerson(pageNum, pageSize);
});
});
function queryAllPerson(pageNum, pageSize){
var ordId = $("#ordId").val();
var tel = $("#tel").val();
var uname = $("#uname").val();
var delivery_id = $("#way").val();
$("#pagehelper_id").html("数据正在玩命加载中......");
$("#pagehelper_id").load("${pageContext.request.contextPath}/order/queryOrderList?pageNum="+pageNum+
"&pageSize="+pageSize+"&uname="+uname+"&tel="+tel+"&ordId="+ordId+"&delivery_id="+delivery_id);
}
</script>
4,后台控制器代码
@RequestMapping("/queryOrderList")
public String queryOrderList(HttpServletRequest request, Model model, HttpSession session) {
try {
String pageNum = request.getParameter("pageNum"); // 页数
String pageSize = request.getParameter("pageSize"); // 每页显示条数
/****************** 多条件 *****************************/
String oid = request.getParameter("ordId");
String tel = request.getParameter("tel");
String uname = request.getParameter("uname");
String parameter = request.getParameter("delivery_id");
Map<String, Object> map = new HashMap<String, Object>();
if ((parameter.equals("1")) || (parameter.equals("2"))) {
int delivery_id = Integer.parseInt(parameter);
map.put("deliveryId", delivery_id);
}
map.put("ordId", oid);
map.put("name", uname);
map.put("tel", tel);
/******************** 分页查询 ***********************/
int num = 1;
int size = 10;
if (pageNum != null && !"".equals(pageNum)) {
num = Integer.parseInt(pageNum);
}
if (pageSize != null && !"".equals(pageSize)) {
size = Integer.parseInt(pageSize);
}
// pageHelper分页查询对象
PageHelper.startPage(num, size);
List<Orders> orderList = orderService.selectOrderListandUserItems(map);
PageInfo<Orders> pagehelper = new PageInfo<Orders>(orderList);
model.addAttribute("pagehelper", pagehelper);
return "olist";
} catch (Exception e) {
return "login";
}
}
5,order.xml映射文件不在粘贴根据自己实际情况来做条件查询就可以了,到此基本完成