1、ScheduleController.java
javapackage 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
javapackage 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
javapackage 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
javapackage 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<?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()开启分页:
java// 初始化分页参数 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)); // 获取总记录数通过调用PageHelper.startPage(),可以方便地实现分页查询操作,并获取查询结果和分页信息。
SSM项目实战-后端-日程列表查询实现
丁总学Java2023-12-08 1:34
相关推荐
零雲几秒前
java面试:怎么保证消息队列当中的消息丢失、重复问题?冬夜戏雪1 分钟前
【java学习日记】【12.11】【11/60】用户2190326527351 分钟前
实现Spring Cloud Sleuth的Trace ID追踪日志实战教程vx_bisheyuange1 分钟前
基于SpringBoot的在线互动学习网站设计roman_日积跬步-终至千里2 分钟前
【源码分析】StarRocks TRUNCATE 语句执行流程:从 SQL 到数据清空的完整旅程雨中飘荡的记忆4 分钟前
Spring状态机深度解析:从入门到生产实战Kings905 分钟前
线程池导致的 shutdown失败的完整排查过程在坚持一下我可没意见6 分钟前
Spring 后端安全双剑(下篇):JWT 无状态认证 + 密码加盐加密实战期待のcode10 分钟前
MyBatis-Plus通用枚举
