本文介绍: PageHelper.startPage()是MyBatis-Plus中的一个分页插件,用于开启分页操作。在MyBatis-Plus中,分页插件PageHelper可以自动对SQL语句进行分页处理,无需手动编写分页代码。PageHelper.startPage()方法的作用是标记当前请求为分页请求,并初始化分页参数。
1、ScheduleController.java
package com.atguigu.schedule.controller; import com.atguigu.schedule.dto.Result; import com.atguigu.schedule.service.ScheduleService; import com.atguigu.schedule.vo.ScheduleQueryVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/schedule") @CrossOrigin public class ScheduleController { @Autowired private ScheduleService scheduleService; @GetMapping("/{pageNum}") public Result list(@PathVariable Integer pageNum, Integer uid) { ScheduleQueryVo queryVo = new ScheduleQueryVo(uid,pageNum); return Result.ok(scheduleService.getSchedulePageInfo(queryVo)); } }
2、ScheduleQueryVo.java
package com.atguigu.schedule.vo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; //日程的查询条件封装成一个java对象,我们将这样的对象称之为查询条件对象(Query Object) @Data @NoArgsConstructor @AllArgsConstructor public class ScheduleQueryVo { private Integer uid; private Integer pageNum; //页码:显示第几页 private Integer pageSize = 3; //页大小 public ScheduleQueryVo(Integer uid, Integer pageNum) { this.uid = uid; this.pageNum = pageNum; } }
3、ScheduleServiceImpl.java
package com.atguigu.schedule.service.impl; import com.atguigu.schedule.mapper.ScheduleMapper; import com.atguigu.schedule.pojo.Schedule; import com.atguigu.schedule.service.ScheduleService; import com.atguigu.schedule.vo.ScheduleQueryVo; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service @Transactional public class ScheduleServiceImpl implements ScheduleService { @Autowired private ScheduleMapper scheduleMapper; @Override @Transactional public PageInfo<Schedule> getSchedulePageInfo(ScheduleQueryVo queryVo) { PageHelper.startPage(queryVo.getPageNum(), queryVo.getPageSize()); List<Schedule> scheduleList = scheduleMapper.getScheduleList(queryVo.getUid()); return new PageInfo<>(scheduleList); } }
4、ScheduleMapper.java
package com.atguigu.schedule.mapper; import com.atguigu.schedule.pojo.Schedule; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface ScheduleMapper { List<Schedule> getScheduleList(Integer sysUserId); }
5、ScheduleMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace等于mapper接口类的全限定名,这样实现对应 --> <mapper namespace="com.atguigu.schedule.mapper.ScheduleMapper"> <select id="getScheduleList" resultType="Schedule"> select * from sys_schedule where uid = #{value} </select> </mapper>
6、PageHelper.startPage()
PageHelper.startPage()是MyBatis-Plus中的一个分页插件,用于开启分页操作。
在MyBatis-Plus中,分页插件PageHelper可以自动对SQL语句进行分页处理,无需手动编写分页代码。PageHelper.startPage()方法的作用是标记当前请求为分页请求,并初始化分页参数。
通过调用PageHelper.startPage(),可以指定分页参数,如每页显示记录数、当前页码等。这些参数将被封装为一个分页对象Page,并将其传递给后续的查询操作。使用Page对象可以获取查询结果列表以及一些分页信息,如总记录数、总页数等。
例如,以下代码演示了如何使用PageHelper.startPage()开启分页:
// 初始化分页参数 int pageNum = 1; // 当前页码 int pageSize = 10; // 每页显示记录数 // 开启分页 PageHelper.startPage(pageNum, pageSize); // 执行查询操作 List<User> userList = userMapper.selectList(null); // 获取分页信息 Page<User> page = new Page<>(pageNum, pageSize); page.setCount(userMapper.selectCount(null)); // 获取总记录数
原文地址:https://blog.csdn.net/m0_65152767/article/details/134770743
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_36448.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。