pagehelper插件进行分页
创建项目
第一步(完成以下操作进行下一步):
第二步:
一、 原理概述
PageHelper是MyBatis的一个插件,内部实现了一个PageInterceptor拦截器。Mybatis会加载这个拦截器到拦截器链中。在我们使用过程中先使用PageHelper.startPage这样的语句在当前线程上下文中设置一个ThreadLocal变量,再利用PageInterceptor这个分页拦截器拦截,从ThreadLocal中拿到分页的信息,如果有分页信息拼装分页SQL(limit语句等)进行分页查询,最后再把ThreadLocal中的东西清除掉。
二、 springboot pageHelper带条件分页
2.1 添加依赖
-
<dependency>
-
<groupId>com.github.pagehelper</groupId>
-
<artifactId>pagehelper-spring-boot-starter</artifactId>
-
<version>1.4.1</version>
-
</dependency>
2.2 pageHelper分页插件的yml配置
#pageHelper 分页插件的配置 pagehelper: auto-dialect: true reasonable: true support-methods-arguments: true params: count=countSql
2.3 建立实体类
-
package com.boot.springboot1223.pojo;
-
-
-
import com.baomidou.mybatisplus.annotation.IdType;
-
import com.baomidou.mybatisplus.annotation.TableField;
-
import com.baomidou.mybatisplus.annotation.TableId;
-
import com.baomidou.mybatisplus.annotation.TableName;
-
import lombok.Data;
-
-
import java.io.Serializable;
-
-
import java.util.Date;
-
-
/**
-
*
-
* @TableName action
-
*/
-
-
-
public class Action{
-
-
/**
-
* 操作ID
-
*/
-
-
private Integer actionId;
-
/**
-
* 订单编号
-
*/
-
private String orderSn;
-
/**
-
* 操作人
-
*/
-
private Integer actionUser;
-
/**
-
* 订单状态
-
*/
-
private Integer orderStatus;
-
/**
-
* 支付状态
-
*/
-
private Integer payStatus;
-
/**
-
* 配送状态
-
*/
-
private Integer shippingStatus;
-
/**
-
* 操作记录
-
*/
-
private String actionNote;
-
/**
-
* 操作时间
-
*/
-
private String actionTime;
-
/**
-
* 状态描述
-
*/
-
private String statusDesc;
-
/**
-
* 下单时间
-
*/
-
-
private String orderTime;
-
-
-
}
2.4 mapper层 (数据持久层)
-
package com.boot.springboot1223.mapper;
-
-
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
import com.boot.springboot1223.pojo.Action;
-
import org.apache.ibatis.annotations.Mapper;
-
-
import java.util.List;
-
-
public interface ActionMapper extends BaseMapper<Action> {
-
-
/**
-
* 分页加模糊查询
-
* @param action
-
* @return
-
*/
-
List<Action> findPage(Action action);
-
-
}
2.5 service层 (业务逻辑层)
-
package com.boot.springboot1223.service;
-
-
import com.baomidou.mybatisplus.extension.service.IService;
-
import com.boot.springboot1223.pojo.Action;
-
import com.github.pagehelper.PageInfo;
-
-
import java.util.List;
-
-
public interface ActionService extends IService<Action> {
-
PageInfo<Action> findPage(Action action,Integer pageIndex,Integer pageSize);
-
}
-
package com.boot.springboot1223.service.impl;
-
-
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
import com.boot.springboot1223.mapper.ActionMapper;
-
import com.boot.springboot1223.pojo.Action;
-
import com.boot.springboot1223.service.ActionService;
-
import com.github.pagehelper.PageHelper;
-
import com.github.pagehelper.PageInfo;
-
import org.springframework.beans.factory.annotation.Autowired;
-
import org.springframework.stereotype.Service;
-
-
import java.util.List;
-
-
/**
-
* @Author
-
* @Date 2022/12/23
-
* @Description 类功能描述
-
*/
-
-
public class ActionServiceImpl extends ServiceImpl<ActionMapper, Action> implements ActionService {
-
-
private ActionMapper actionMapper;
-
-
-
public PageInfo<Action> findPage(Action action, Integer pageIndex, Integer pageSize) {
-
//调用分页插件的工具类 计算总页数
-
PageHelper.startPage(pageIndex,pageSize);
-
//获取所有数据
-
List<Action> page = actionMapper.findPage(action);
-
//获取所有的数据直接给pageInfo
-
PageInfo pageInfo=new PageInfo(page);
-
return pageInfo;
-
}
-
}
2.6 controller层
-
package com.boot.springboot1223.controller;
-
-
import com.boot.springboot1223.pojo.Action;
-
import com.boot.springboot1223.pojo.Order;
-
import com.boot.springboot1223.service.ActionService;
-
import com.boot.springboot1223.service.OrderService;
-
import com.github.pagehelper.PageInfo;
-
import org.springframework.beans.factory.annotation.Autowired;
-
import org.springframework.stereotype.Controller;
-
import org.springframework.ui.Model;
-
import org.springframework.web.bind.annotation.RequestMapping;
-
import org.springframework.web.bind.annotation.RequestParam;
-
-
/**
-
* @Author
-
* @Date 2022/12/23
-
* @Description 类功能描述
-
*/
-
-
public class ActionController {
-
-
private ActionService actionService;
-
-
-
public String findPage(
-
Action action,
-
Integer pageIndex,
-
Integer pageSize,
-
Model model
-
){
-
PageInfo<Action> page = actionService.findPage(action,pageIndex, pageSize);
-
model.addAttribute("path","findPage?pageIndex=");
-
model.addAttribute("page",page);
-
model.addAttribute("action",action);
-
return "list";
-
}
-
}
页面显示
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgghaih
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13