
后端(SSM项目)PageHelper是一款好用的开源免费的Mybatis第三方分页插件,点击访问
注:这里只给出了关键部分代码,分页 *** 作是通过对获取到的List集合进行二次封装实现的,具体请注意看Service层与Contoller层代码,其他代码未变动,按照业务逻辑正常编写即可
导入依赖添加配置org.mybatis mybatis3.5.7 org.mybatis mybatis-spring2.0.6 mysql mysql-connector-java5.1.49 org.projectlombok lombok1.18.20 com.github.pagehelper pagehelper5.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部分
编号
姓名
年龄
性别
班级
学号
*** 作
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)