引入pom.xml坐标
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
配置文件添加
#pageHelper配置
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
mapper.xml中SQL语句
<select id="queryPage" resultMap="BaseResponse">
SELECT
id,
user_id,
table_num,
order_num,
order_price,
is_deleted,
is_payed,
create_time,
pay_time,
pay_type
FROM goods_order
where 1=1
<include refid="pubItem"/>
ORDER BY create_time DESC
</select>
<sql id="pubItem">
<if test="user_id != null and user_id !='' ">and user_id = #{user_id}</if>
<if test="table_num != null and table_num !='' ">and table_num = #{table_num}</if>
<if test="order_num != null and order_num !='' ">and order_num = #{order_num}</if>
<if test="order_price != null and order_price !='' ">and order_price = #{order_price}</if>
<if test="is_deleted != null and is_deleted !='' ">and is_deleted = #{is_deleted}</if>
<if test="is_payed != null and is_payed !='' ">and is_payed = #{is_payed}</if>
<if test="create_time != null and create_time !='' ">and create_time = #{create_time}</if>
<if test="pay_time != null and pay_time !='' ">and pay_time = #{pay_time}</if>
<if test="pay_type != null and pay_type !='' ">and pay_type = #{pay_type}</if>
</sql>
DO(dao)层接口
dao层正常使用即可
Mybatis分页插件PageHelper代码
实体类:GoodsOrder封装数据模型。
BO层
public interface GoodsOrderBO {
/**
* <pre>
* 分页查询用户订单
* </pre>
*
* @param page 分页信息
* @param goodsOrder 查询条件
* @return 数据集合
* @throws
*/
PageInfo<GoodsOrder> queryPage(GoodsOrder goodsOrder, int pageNum, int pageSize);
}
@Service("GoodsOrderBO")
public class GoodsOrderBOImpl implements GoodsOrderBO {
@Autowired
private GoodsOrderDO goodsOrderDO;
@Override
public PageInfo<GoodsOrder> queryPage(GoodsOrder goodsOrder,int pageNum,int pageSize) {
PageHelper.startPage(pageNum,pageSize);
List<GoodsOrder> resList = goodsOrderDO.queryPage(goodsOrder);
PageInfo<GoodsOrder> page = new PageInfo<>(resList);
return page;
}
}
AO层
public interface GoodsOrderAO {
/**
* <pre>
* 分页查询 用户订单
* </pre>
*
* @param page 分页信息
* @param query 查询条件
* @return 分页数据集合
*/
Result<PageInfo<GoodsOrder>> queryPage(GoodsOrderQuery query, int pageNum, int pageSize);
}
package com.dinner.order.ao.impl;
import com.dinner.commons.domain.GoodsOrder;
import com.dinner.commons.page.PageResult;
import com.dinner.commons.query.GoodsOrderQuery;
import com.dinner.commons.request.GoodsOrderReq;
import com.dinner.commons.result.Result;
import com.dinner.commons.result.ResultCodeEnum;
import com.dinner.order.ao.GoodsOrderAO;
import com.dinner.order.bo.GoodsOrderBO;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("GoodsOrderAO")
public class GoodsOrderAOImpl implements GoodsOrderAO {
@Autowired
private GoodsOrderBO goodsOrderBO;
@Override
public Result<PageInfo<GoodsOrder>> queryPage(GoodsOrderQuery query,int pageNum,int pageSize) {
Result<PageInfo<GoodsOrder>> pr = new Result<>();
try {
GoodsOrder goodsOrder = new GoodsOrder();
BeanUtils.copyProperties(query,goodsOrder);
PageInfo<GoodsOrder> list = goodsOrderBO.queryPage(goodsOrder, pageNum, pageSize);
pr = pr.success(list);
} catch (Exception e) {
pr =pr.error(ResultCodeEnum.FAIL.getCode(),e.getMessage());
}
return pr;
}
}
Result为json数据处理类
测试结果