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
相关推荐
Lojarro9 分钟前
【Spring】Spring框架之-AOP莫名其妙小饼干12 分钟前
网上球鞋竞拍系统|Java|SSM|VUE| 前后端分离isolusion24 分钟前
Springboot的创建方式zjw_rp1 小时前
Spring-AOPOneforlove_twoforjob1 小时前
【Java基础面试题033】Java泛型的作用是什么?TodoCoder1 小时前
【编程思想】CopyOnWrite是如何解决高并发场景中的读写瓶颈?向宇it1 小时前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类小蜗牛慢慢爬行1 小时前
Hibernate、JPA、Spring DATA JPA、Hibernate 代理和架构星河梦瑾2 小时前
SpringBoot相关漏洞学习资料黄名富2 小时前
Redis 附加功能(二)— 自动过期、流水线与事务及Lua脚本