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
相关推荐
秋饼24 分钟前
Spring AI 2.0 结构化输出企业级实战:从 BeanOutputConverter 源码到生产级解析容错摇滚侠24 分钟前
《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》第 9 章 机器码与汇编语言 阅读笔记 9Cc.Y31 分钟前
Java零基础入门:深入Java核心:文件IO与序列化全解拿本唠嗑AI研究38 分钟前
本体工程实战指南:从建模到可维护的完整落地路径lambo mercy1 小时前
Day3:结构化输出程序员清风1 小时前
最短路径算法:BFS、Dijkstra 与 Floyd智能直播2 小时前
RK3528 V4L2 框架 UVC 接口自动获取 H.264 / MJPEG / YUYV 格式:从内核采集到硬解分发171320330计算机毕设编程3 小时前
计算机毕业设计 基于YOLO改进算法的车辆特征识别系统设计与实现--lwbadhope3 小时前
Spring AI Alibaba停更:Java程序员的信任,还能被辜负几次?const_qiu3 小时前
第一章 1.1-1.2:基础模型调用与 TypeScript 入门 —— Java 开发者的视角
