SpringBoot案例-员工管理-分页查询-实现

news2024/11/20 20:43:28

 前言:

阅读本文前,请先浏览分页功能分析文章,文章传送门SpringBoot案例-员工管理-分页查询-分析_熵240的博客-CSDN博客

根据三层架构中各个层次的作用进行编码

 功能接口的实现

控制层(Controller类)

具体关键代码如下:

   @GetMapping("/emps")
    // 接收前端参数默认根据名称进行自动注入
    public Result page(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer pageSize) {
        // 设置未接受到参数值时,设置其默认值
        // if (page == null) page = 1;
        // if (pageSize == null) pageSize = 10;
        log.info("分页查询,参数page:{}、pageSize:{}", page, pageSize);
        // 调用Service中的方法进行分页查询
        // 查询的结果封装到PageBean中
        PageBean pageBean = empService.Page(page, pageSize);
        return Result.success(pageBean);
    }

业务层(Service类)

具体关键代码如下:

业务类

PageBean Page(Integer page, Integer pageSize);

业务实现类

    public PageBean Page(Integer page, Integer pageSize) {
        // 获取总记录数
        long count = empMapper.CountAll();
        Integer start = page * pageSize - pageSize;
        // 获取分页查询结果列表
        List<Emp> list = empMapper.GetData(start, pageSize);
        // 封装PageBean对象
        PageBean pageBean = new PageBean(count, list);
        return pageBean;

    }

持久层

具体关键代码如下:

  /**
     * 获取数据总数
     *
     * @return
     */
    @Select("select count(*) from emp")
    public long CountAll();

    /**
     * 获取每页数据信息
     *
     * @return
     */
    @Select("select * from emp limit #{start},#{pageSize}")
    public List<Emp> GetData(Integer start, Integer pageSize);

接口测试

在启动SpringBoot工程之后,在postman中进行接口测试,具体的请求路径及参数如下:

 运行结果如下:

{
    "code": 1,
    "msg": "success",
    "data": {
        "total": 17,
        "rows": [
            {
                "id": 1,
                "username": "jinyong",
                "password": "123456",
                "name": "金庸",
                "gender": 1,
                "image": "1.jpg",
                "job": 4,
                "entrydate": "2000-01-01",
                "deptId": 2,
                "creteTime": null,
                "updateTime": "2023-08-07T15:44:50"
            },
            {
                "id": 2,
                "username": "zhangwuji",
                "password": "123456",
                "name": "张无忌",
                "gender": 1,
                "image": "2.jpg",
                "job": 2,
                "entrydate": "2015-01-01",
                "deptId": 2,
                "creteTime": null,
                "updateTime": "2023-08-07T15:44:50"
            },
            {
                "id": 3,
                "username": "yangxiao",
                "password": "123456",
                "name": "杨逍",
                "gender": 1,
                "image": "3.jpg",
                "job": 2,
                "entrydate": "2008-05-01",
                "deptId": 2,
                "creteTime": null,
                "updateTime": "2023-08-07T15:44:50"
            },
            {
                "id": 4,
                "username": "weiyixiao",
                "password": "123456",
                "name": "韦一笑",
                "gender": 1,
                "image": "4.jpg",
                "job": 2,
                "entrydate": "2007-01-01",
                "deptId": 2,
                "creteTime": null,
                "updateTime": "2023-08-07T15:44:50"
            },
            {
                "id": 5,
                "username": "changyuchun",
                "password": "123456",
                "name": "常遇春",
                "gender": 1,
                "image": "5.jpg",
                "job": 2,
                "entrydate": "2012-12-05",
                "deptId": 2,
                "creteTime": null,
                "updateTime": "2023-08-07T15:44:50"
            }
        ]
    }
}

 前后端联调测试

启动nginx项目,输入请求地址:http://localhost:90

运行结果如下:

前后端联调成功 

小结 

  1. 分页查询
    1. 请求参数:页码(page)、每页展示记录数(pageSize)
    2. 响应结果:总i记录数(total)、结果列表(PageBean)
  2. 注解
    1. @RequestParam(defaultValue=“1”)//设置请求参数的默认值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/885679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用好大模型,会写prompt才行,文心一言为例

实际上用文心一言已经有几个月了。一直没有写点什么。 对于用大模型&#xff0c;prompt的写法至关重要。今天水一个例子。 最开始&#xff0c;我想要让文心帮我提炼一个句子&#xff0c;顺带测试一下它的理解力 执行下面的步骤&#xff1a; 1 将下面由三个引号分隔的文本总结…

pg 简单查询语句

语法&#xff1a; 搜索语句&#xff1a; select (distinct&#xff08;去重&#xff09;) 内容&#xff08;*代表所有&#xff09; as 别名 from 表 注释&#xff1a; -- 快速查询&#xff1a;select 内容 AS 别名 没有表一般当做计算器来用

PLA: 语言驱动的开放词汇3D场景理解

论文&#xff1a;https://arxiv.org/abs/2211.16312 GitHub - CVMI-Lab/PLA: (CVPR 2023) PLA: Language-Driven Open-Vocabulary 3D Scene Understanding代码&#xff1a;GitHub - CVMI-Lab/PLA: (CVPR 2023) PLA: Language-Driven Open-Vocabulary 3D Scene Understanding 摘…

【RabbitMQ】消息队列-RabbitMQ篇章

文章目录 1、RabbitMQ是什么2、Dokcer安装RabbitMQ2.1安装Dokcer2.2安装rabbitmq 3、RabbitMQ入门案例 - Simple 简单模式4、RabbitMQ的核心组成部分4.1 RabbitMQ整体架构4.2RabbitMQ的运行流程 5、RabbitMQ的模式5.1 发布订阅模式--fanout 1、RabbitMQ是什么 RabbitMQ是一个开…

通用与垂直大模型之战:大模型驱动的商业智能变革之路

科技云报道原创。 是做通用大模型还是垂直大模型&#xff0c;这一个争论在“百模大战”的下讨论愈发热烈。 目前&#xff0c;以微软、谷歌、百度、阿里等为代表的发力于通用大模型的科技大厂&#xff0c;也都开始推动大模型在垂直领域的商业化落地。 比如说&#xff0c;微软…

【JAVA】变量的作用域与生存周期

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️初识JAVA】 文章目录 前言变量的作用域变量的生命周期局部变量全局变量 前言 变量&#xff0c;我们学习过程中逃不掉的知识&#xff0c;无论在哪种语言中我们都需要学会去合理的运用它&#xff0c;今…

电测知识分享——错过就要被淘汰掉?这个电子测试超重要项目你了解多少?

一、为什么准确性这么重要&#xff1f; 任何测试都会有误差的存在。假设我们现在有个项目&#xff1a;设计一个LNA&#xff0c;其噪声系数NF2dB.测试误差为0.5dB。这就意味着设计人员需将NF指标控制在1.5dB甚至更低&#xff0c;NF超1.5dB的产品在测试过程中就要被淘汰掉。如果…

ES6自用笔记

原型链 引用类型&#xff1a;__proto__(隐式原型)属性&#xff0c;属性值是对象函数&#xff1a;prototype(原型)属性&#xff0c;属性值是对象 ​​​​​​​ 相关方法 person.prototype.isPrototypeOf(stu) Object.getPrototypeOf(Object)替换已不推荐的Object._ _ pro…

【项目设计】负载均衡式在线OJ

&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《项目设计》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录 &#x1f449;项目地址&am…

自研的EtherCAT总线一拖四开环步进驱动器低成本方案

自研的EtherCAT总线一拖四开环步进驱动器&#xff0c;可以连接TwinCAT 欧姆龙 汇川PLC Codesys SOEM主站&#xff0c;IGH主站。 电机单轴驱动电流最大4A&#xff0c;可以带42/57/86电机。带12路数字输入&#xff0c;8路数字输出。 EtherCAT总线DC同步周期125us&#xff0c;支持…

“深入剖析Java多态:点燃编程世界火花“

White graces&#xff1a;个人主页 &#x1f649;专栏推荐:Java入门知识&#x1f649; &#x1f649; 内容推荐:“继承与组合&#xff1a;代码复用的两种策略“&#x1f649; &#x1f439;今日诗词:马踏祁连山河动,兵起玄黄奈何天&#x1f439; 快去学习 &#x1f338;思维导…

8月14日上课内容 LVS负载均衡的群集

知识点&#xff1a; 本章结构: 企业群集概述 集群的含义&#xff1a; 1、群集的含义 ①、Cluster、集群、群集 ②、由多台主机构成&#xff0c;但对外只表现为一个整体&#xff0c;只提供一个访问入口&#xff08;域名与IP地址&#xff09;&#xff0c;相当于一台大型计算机。…

重要日期提醒软件是哪个?帮你记住重要日程的提醒软件

生活、工作、学习中有众多重要的日期&#xff0c;如生日、纪念日、会议、截止日期等&#xff0c;它们承载着我们珍贵的回忆和重要的任务&#xff0c;因此绝对不能忘记。然而在信息爆炸的时代&#xff0c;我们的生活和工作节奏都是非常快的&#xff0c;时常会忘记这些重要的日程…

关于git执行提交报错问题

1.在执行git中 执行git init 执行 git add . 执行git commit -m “first commit” 时会出现 git config --global user.email "youexample.com" git config --global user.name "username" 这个问题是由于在git中没有设置默认的user跟emali导致需要手…

Cesium加载Supermap的wmts服务

最近使用cesium 加载supermap的wmts 服务&#xff0c;多次遇到加载异常与白页面问题&#xff0c;纠结好久最后才搞定[特此记录] 1、首先找到方法加载wmts 的api 文档 官方提示使用WebMapTileServiceImageryProvider加载wmts 2、然后编辑加载代码 //1.新建ImageryProviderlet…

产品经理为什么是程序员转行的首选?答案在这里!

经常看到有程序员小哥工作几年因为压力大想转行&#xff0c;这种情况确实是存在的。整日泡在无穷无尽的代码中&#xff0c;确实是一件很枯燥的事情。这可能不仅仅是工作量方面的压力&#xff0c;更多的是做到一定程度后&#xff0c;对这个工作不够感兴趣&#xff0c;需要找到更…

WMS:SurfaceView绘制显示

WMS:SurfaceView绘制显示 1、SurfaceView控件使用1.1 Choreographer接受VSync信号1.2 自定义SurfaceView1.3 结果 2、SurfaceView获取画布并显示2.1 SurfaceHolder.lockCanvas()2.2 SurfaceHolder.unlockCanvasAndPost(Canvas canvas) 1、SurfaceView控件使用 1.1 Choreograph…

如何做好出入库管理工作,好用的出入库管理系统有哪些?

出入库管理通常会涉及到多个供应商和分销渠道&#xff0c;人为错误、货品损坏或盗窃等问题可能导致库存数量与实际不符&#xff0c;需要花费大量时间和人力资源。 借助出入库管理系统&#xff0c;能够自动记录出入库活动、生成报告&#xff0c;并实时跟踪库存情况&#xff0c;建…

小程序开发中事件绑定的执行方法

事件是渲染层到逻辑层的通讯方式。通过事件可以将用户在渲染层产生的行为&#xff0c;反馈到逻辑层进行业务的处理。小程序中常用属性和绑定方式如下&#xff1a; 当事件回调触发的时候&#xff0c;会收到一个事件对象 event&#xff0c;它的详细属性如下表所示&#xff1a; …

「快学Docker」探索Docker的优势和多样化用途

「快学Docker」探索Docker的优势和多样化用途 Docker的优势Docker的多样化用途总结 Docker的优势 环境一致性&#xff1a;传统软件开发和部署中&#xff0c;环境配置常常是一个棘手的问题&#xff0c;不同环境之间可能存在差异&#xff0c;导致问题难以定位和解决。Docker通过…