springboot中分页插件的使用

news2024/9/21 18:48:22

安装依赖

这里有个版本的报错,循环依赖的问题,大家可以去具体查下,我这是sp3,所以要选择高点的版本,否则启动会报错

<!--mybatis起步依赖-->
  <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>2.2.2</version>
  </dependency>

  <!--mysql驱动-->
  <dependency>
      <groupId>com.mysql</groupId>
      <artifactId>mysql-connector-j</artifactId>
      <scope>runtime</scope>
  </dependency>
 <!--分页插件-->
  <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper-spring-boot-starter</artifactId>
      <version>1.4.1</version>
  </dependency>

看到这个,就说明安装成功了
在这里插入图片描述

application.propertis配置文件

server.port=9090
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springapp01
spring.datasource.username=root
spring.datasource.password=123456
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
mybatis.configuration.map-underscore-to-camel-case=true
  • controller
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDate;
import java.util.List;

/**
 * 员工管理Controller
 */
@RestController
@Slf4j
@RequestMapping("/emps")
public class EmpController {

    @Autowired
    private EmpService empService;

    @GetMapping
    public Result page(
            String name,
            Short gender,
            @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
            @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end,
            @RequestParam(defaultValue = "1") Integer page,
                       @RequestParam(defaultValue = "10") Integer pageSize){
        log.info("{},{}.{},{},page:{},pageSize:{}",name,gender,begin,end,page, pageSize);
        //PageBean pageBean = empService.page(page, pageSize);
        PageBean pageBean = empService.pageHelper(name,gender,begin,end,page, pageSize);
        return Result.success(pageBean);
    }
    /**
     * 批量删除员工信息
     * delete from emp where id in (1,2,3)
     */
    @DeleteMapping("/{ids}")
    public  Result delete(@PathVariable List<Integer> ids) {
        log.info("批量删除操作 {}", ids);
        empService.delete(ids);
        return Result.success();
    }
}
  • services

基础类

/**
 * 员工管理
 */
public interface EmpService {
    PageBean page(Integer page, Integer pageSize);
    PageBean pageHelper(String name, Short gender, LocalDate begin,LocalDate end, Integer page, Integer pageSize);

    void delete(List<Integer> ids);
}

实现类

package com.itheima.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDate;
import java.util.List;

@Service
public class EmpServiceImpl implements EmpService {

    @Autowired
    private EmpMapper empMapper;

    //自己实现的page方法
    @Override
    public PageBean page(Integer page, Integer pageSize) {
        Long count = empMapper.count();
        Integer start = (page - 1) * pageSize;
        List<Emp> page1 = empMapper.page(start, pageSize);
        return new PageBean(count, page1);
    }

    @Override
    public  PageBean pageHelper(String name, Short gender, LocalDate begin, LocalDate end, Integer page, Integer pageSize){
        //设置分页参数
        PageHelper.startPage(page, pageSize);
        List<Emp> empList = empMapper.listAll(name, gender, begin,end);
        Page<Emp> p = (Page<Emp>) empList;
        return new PageBean(p.getTotal(), p.getResult());
    }

    @Override
    public void delete(List<Integer> ids){
        empMapper.delete(ids);
    }
}
  • mapper
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.mapper.EmpMapper">
    <select id="listAll" resultType="com.itheima.pojo.Emp">
        select * from emp
        <where>
            <if test="name != null">
                name like concat('%',#{name},'%')
            </if>
            <if test="gender != null">
                and gender = #{gender}
            </if>
            <if test="begin != null and end != null">
                and entrydate between #{begin} and #{end}
            </if>
        </where>
        order by update_time desc
    </select>

    <delete id="delete">
        delete from emp where id in
        <foreach collection="ids" item="id" open="(" close=")" separator=",">
            #{id}
        </foreach>
    </delete>
</mapper>

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

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

相关文章

5 本顶级LMM和AIGC书籍

本文回顾了五本探讨大型语言模型 (LLM) 和生成式人工智能等快速发展领域的关键书籍,为这些变革性技术提供了重要见解。 《NLP with Transformers》向读者介绍了用于自然语言处理的 Transformer 架构,并提供了使用 Hugging Face 进行文本分类等任务的实用指导。Sebastian Ras…

【kubernetes】蓝绿部署

概念&#xff1a; 蓝绿部署中&#xff0c;一共有两套系统&#xff1a;一套是正在提供服务系统&#xff0c;标记为“绿色”&#xff1b;另一套是准备发布的系统&#xff0c;标记为“蓝色”。 两套系统都是功能完善的、正在运行的系统&#xff0c;只是系统版本和对外服务情况不…

LVGL | VisualStuio PC模拟器

LVGL | VisualStuio PC模拟器 时间&#xff1a;2024年8月30日17:46:41 文章目录 LVGL | VisualStuio PC模拟器1.参考Visual Studio 版本LVGL版本 2.工程代码3.演示 1.参考 1.16.LVGL&#xff08;UI设计&#xff09;_军事研究员的博客-CSDN博客 2.嵌入式UI开发-lvglwsl2vscode系…

PMNet

Training will take approx. 1.5 days until convergence (trained with four V100 GPUs)&#xff0c;不建议复现

快速掌握业务全景、深入追踪分析异常关键指标的智慧能源开源了。

简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;减少企业级应用约 95%的开发成本&#xff0c;用户仅需在界面上…

python-word添加标题,段落,文字块

安装与使用python-docx 要使用必须先安装&#xff0c;要安装python-docx还是在Pycharm的终端&#xff08;Terminal&#xff09;中输入pip install python-docx&#xff0c;如下所示&#xff08;Successfully installed&#xff09;便是表示安装成功了。 新建与保存wor…

Unclutter - 苹果电脑(Mac)桌面文件笔记剪贴板管理工具

刚收拾好的电脑桌面马上又堆满了杂七杂八的文件&#xff1f;刚随手一记的笔记&#xff0c;回头却找不到了&#xff1f; 马上来认识一下 Unclutter&#xff0c;一款藏在 Mac 系统顶部的文件、笔记、剪贴板管理器。 安装后&#xff0c;用户只需要将鼠标指针移动到屏幕顶部&…

2024-2025-1秋学期课程任务和班课号

课表&#xff1a; ROS机器人程序设计 班课号&#xff1a;9074941 以ROS2 Jazzy为主题&#xff0c;以下是极简版本的《ROS机器人程序设计》教学进度表&#xff1a; 教学进度表 课程名称&#xff1a;ROS2 Jazzy程序设计 总学时&#xff1a;48学时&#xff08;讲课32学时&am…

ssrf进阶绕过思路与特殊玩法汇总

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理ssrf的绕过思路 本文随我的阅历实时更新 内容包含我搜集到的以及自创的绕过方法 挖掘判断 无回显判断是否访问URL 自己服务器上安装个python 启动监听服务 python -m http.server 有人访问之后就会留…

自建一款开源音乐服务-Navidrome

自建一款开源音乐服务-Navidrome Navidrome&#xff0c;一个开源的音乐服务器和播放器&#xff0c;提供了一个优雅且功能丰富的解决方案&#xff0c;让你的音乐库无论在何处都能触手可及。本文将带你一步步搭建自己的Navidrome音乐服务器&#xff0c;让你的音乐生活更加自由和…

【Windows学习笔记】1:OneCore和Windows API

1 OneCore 主流Windows跑在PC上&#xff0c;Xbox跑的是从Windows 2000分支出来的版本&#xff0c;Windows Phone跑的是基于Windows CE&#xff08;实时操作系统&#xff09;的版本。 为了维护和扩展这些code方便&#xff0c;微软将kernels和base platform集成在一起叫OneCore…

Python中如何import文件?

背景 我在一个语言大模型项目中&#xff0c;多个地方要使用API&#xff0c;这涉及到API密钥的设置&#xff0c;关键我想把项目开源出来&#xff0c;用户设置为自己密钥的时候想提供方便&#xff0c;仅修改一个文件即可&#xff0c;这样会提供方便。于是有了下面的探索 问题 目…

2024年“羊城杯”粤港澳大湾区网络安全大赛 AI部分

2024年“羊城杯”粤港澳大湾区网络安全大赛 AI部分 Author&#xff1a;Ns100kUp From&#xff1a;极安云科-服务中心 Data&#xff1a;2024/08/27 Copyright:本内容版权归属极安云科&#xff0c;未经授权不得以任何形式复制、转载、摘编和使用。培训、环境、资料、考证 公众号…

[QCTF2018]X-man-A face1

下载解压后发现一张缺失左上和左下的二维码&#xff0c;先补齐&#xff0c;扫扫看&#xff0c;请ps 在ps中打开我们需要把右上的回型图案复制&#xff0c;分别黏贴到左上和左下正确位置 先按W键调出魔术棒工具&#xff0c;我的容差已调好&#xff0c;不需要再调试&#xff0c;…

VS Code 一些好用的扩展插件

目录 1.改中文 2.不同注释色 3.显示Color颜色 4.显示尾部空格 5.快捷提示 6.调出颜色面板 7.git 提交记录 8.本地修改记录 9.文件比较 10.Post请求测试 11.实时显示代码的运行结果 12.自动修改标签名 13.在选中代码两边添加各种引号、括号 14.自动添加console.log…

BRAS(宽带接入服务器)简介

文章目录 BRAS的主要功能IP地址分配功能AAA&#xff08;认证、计费、授权&#xff09; BRAS的工作流程PPPoE&#xff08;基于以太网的点对点通讯协议&#xff09;vBRAS&#xff08;虚拟宽带远程接入服务器&#xff09; 宽带接入服务器&#xff08;Broadband Remote Access Serv…

【奇某信-注册_登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

23种设计模式之模版方法模式

文章目录 模版方法模式简单实现 - 炒菜**总结** 模版方法模式 一、定义与概念 模板方法模式是一种行为设计模式&#xff0c;它定义了一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。…

中智科学技术评价研究中心与中企数研究院实现全面合作

8月29日&#xff0c;中智科学技术评价研究中心与《中国企业报》集团数字化发展研究院在北京顺喜山庄成功举办“数字经济GBC生态系统管理平台”项目实施落地座谈会及研究院高层管理集训班&#xff0c;并签署了项目合作协议。此次合作标志着双方将在“数字中国发展战略”的大背景…

录屏神器Camtasia 2024中文永久激活版安装教程+汉化补丁 破解版激活码

它来了它来了&#xff0c;它带着Camtasia2024最新版来了&#xff01; 录屏&剪辑软件 Camtasia 如期发布最新版&#xff0c;带来的新功能非常实用&#xff01;我们今天带来的是Camtasia Studio 2024最新版&#xff0c;附带crack破解程序&#xff08;注册机&#xff09;和激…