PageHelper的简单使用

PageHelper的简单使用,第1张

PageHelper的简单使用 简介

PageHelper是一款好用的开源免费的Mybatis第三方分页插件,点击访问

后端(SSM项目)

注:这里只给出了关键部分代码,分页 *** 作是通过对获取到的List集合进行二次封装实现的,具体请注意看Service层与Contoller层代码,其他代码未变动,按照业务逻辑正常编写即可

导入依赖

    org.mybatis
    mybatis
    3.5.7


    org.mybatis
    mybatis-spring
    2.0.6



    mysql
    mysql-connector-java
    5.1.49



    org.projectlombok
    lombok
    1.18.20



    com.github.pagehelper
    pagehelper
    5.1.2

添加配置

        
        
        
        
        
        
                
                        
                                
                                        
                                                mysql
                                        
                                
                        
                
        

实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
    private int id;
    private String name;
    private int age;
    private String sex;
    private String cls;
    private String num;
}
mapper接口
public interface StudentMapper {
    //查询全部Student,返回list集合
    List findStudentList();
}
Service层
public interface StudentService {
    //查询全部Student,返回list集合
    PageInfo findStudentList(int pageNum,int pageSize);
}
public PageInfo findStudentList(int pageNum,int pageSize) {
    // 分页语句之后紧跟的第一次查询才会分页,所以此结构最合理
    PageHelper.startPage(pageNum,pageSize);
    List list = studentMapper.findStudentList();
    PageInfo pageInfo = new PageInfo(list);
    return pageInfo;
}
Controller层
@RequestMapping("/list/{pageNum}/{pageSize}")
@ResponseBody
// 前台传递两个参数,第一个参数为页码,就是你要查询第几页的数据,第二个参数是,一页几条记录
public PageInfo list(Model model, @PathVariable int pageNum, @PathVariable int pageSize) {
    PageInfo pageInfo = studentService.findStudentList(pageNum,pageSize);
    // 插件将处理好后的集合封装在了PageInfo对象里面,直接返回到前端即可
    return pageInfo;
}
PageInfo类的常见属性
public class PageInfo implements Serializable {
private static final long serialVersionUID = 1L;
//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;
//由于startRow 和endRow 不常用,这里说个具体的用法
//可以在页面中"显示startRow 到endRow 共size 条数据"
//当前页面第一个元素在数据库中的行号
private int startRow;
//当前页面最后一个元素在数据库中的行号
private int endRow;
//总记录数
private long total;
//总页数
private int pages;
//结果集
private List list;
//前一页
private int prePage;
//下一页
private int nextPage;
//是否为第一页
private boolean isFirstPage = false;
//是否为最后一页
private boolean isLastPage = false;
//是否有前一页
private boolean hasPreviousPage = false;
//是否有下一页
private boolean hasNextPage = false;
//导航页码数
private int navigatePages;
//所有导航页号
private int[] navigatepageNums;
//导航条上的第一页
private int navigateFirstPage;
//导航条上的最后一页
private int navigateLastPage;
}
前端 引入资源文件


HTML部分

    
        
            
            
                编号
                姓名
                年龄
                性别
                班级
                学号
                 *** 作
            
            

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4656909.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-06
下一篇2022-11-06

发表评论

登录后才能评论

评论列表(0条)

    保存