SpringBoot整合Mybatis分页插件PageHelper

引入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数据处理类

测试结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值