springboot-mybatis的分页查询的接口

这篇具有很好参考价值的文章主要介绍了springboot-mybatis的分页查询的接口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装依赖

<dependency>
   <groupId>com.github.pagehelper</groupId>
   <artifactId>pagehelper-spring-boot-starter</artifactId>
   <version>1.4.6</version>
</dependency>

二、代码定义

分页对象类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageBean implements Serializable {

    // 总记录数
    private Long total;

    // 返回参数列表
    private List rows;


}

mapper层

直接查询所有数据即可,剩下的交给分页器

@Mapper
public interface EmpMapper {


    // 查询部门信息
    @Select("select * from emp")
    List<Emp> list();



}

业务逻辑层

PageHelper.startPage(page, pageSize); 是 MyBatis 的一个分页插件(PageHelper)提供的方法调用,用于在数据库查询中实现分页功能。这个方法的作用是告诉 PageHelper 开始对接下来的查询进行分页处理。

具体来说,这个方法做了以下几件事情:

  1. 设置分页参数:它会根据传入的 pagepageSize 参数,自动计算出数据库查询的起始行号(offset)和每页的记录数(limit)

  2. 重写查询语句:在底层,PageHelper 会拦截你的查询语句,自动在原有的查询语句上添加分页参数,从而实现数据库的分页查询。这样,你就无需手动编写复杂的分页查询语句。

  3. 返回分页结果:分页查询完成后,PageHelper 会将查询结果封装成一个 Page 对象包含了分页信息和查询结果列表

 @Autowired
    EmpMapper empMapper;

    @Override
    public PageBean page(Integer page, Integer pageSize) {

        // 1、设置分页参数
        PageHelper.startPage(page, pageSize);
        // 2、执行分页查询语句
        List<Emp> empList = empMapper.list();
        // 3、获取分页结果
        Page<Emp> p = (Page<Emp>) empList;

        // 4、封装pageBean对象,注意对象需要序列化
        // p.getTotal() 获取结果条数,p.getResult()获取查询结果
        PageBean pageBean = new PageBean(p.getTotal(), p.getResult());

        return pageBean;

    }

控制层

  @ResponseBody
    @GetMapping
    public Result page( @RequestParam(defaultValue = "1") Integer page,
                       @RequestParam(defaultValue = "10") Integer pageSize){

        // 传入页码和每页的条数
        PageBean pageBean = empService.page(page,pageSize);
        
        return Result.success(pageBean);

    }

三、注意实体类需要序列化

依赖

<dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-databind</artifactId>
</dependency>

实体类

import com.fasterxml.jackson.annotation.JsonAutoDetect;

@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
public class Emp {
    // ...
}

如果不序列化,可能产生以下错误:

No serializer found for class com.demo.tliaswebmanagement.pojo.Emp and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)文章来源地址https://www.toymoban.com/news/detail-633276.html

到了这里,关于springboot-mybatis的分页查询的接口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MyBatis的分页原理

    最近看到了一篇MyBatis的分页实现原理,文章里描述到使用ThreadLocal,其实想主要想看看ThreadLocal的巧妙使用,并且看一下分页是如何实现的。 ChaiRongD/Demooo - Gitee.com 其实一个简单的分页如下面代码所示,使用PageHelp对象设置分页的参数,然后把查询到的List对象作为参数传入P

    2024年02月09日
    浏览(31)
  • Mybatis中的分页插件

    目录 一.为什么要使用分页插件? 二.分页常用标签 三.分页插件的使用         1.在mybatis的pom中添加分页插件依赖         2.在mybatis-config.xml中创建分页插件 3.在test文件中进行查询操作的时候,开启分页功能        PageInfo()         PageHelper.startPage(); 总结: 不必

    2023年04月13日
    浏览(31)
  • springboot-mybatis的增删改查

    目录 一、准备工作 二、常用配置  三、尝试  四、增删改查 1、增加 2、删除 3、修改 4、查询 五、XML的映射方法 实施前的准备工作: 准备数据库表 创建一个新的springboot工程,选择引入对应的起步依赖(mybatis、mysql驱动、lombok) application.properties中引入数据库连接信息 创建

    2024年02月14日
    浏览(27)
  • MyBatis与MyBatis-Plus的分页以及转换

    MyBatis和MyBatis-Plus都是Java持久化框架,用于简化数据库访问和操作。它们提供了面向对象的方式来管理关系型数据库中的数据。 MyBatis 是一个轻量级的持久化框架,通过XML或注解配置,将SQL语句与Java对象进行映射,使开发者可以使用简单的API来执行数据库操作。MyBatis支持动态

    2024年02月11日
    浏览(44)
  • JavaWeb12(实现基础分页&模糊查询的分页)

    目录 一. 效果预览 ​编辑 二. 实现基本分页 2.1 分页sql  --每页3条  取第二页 --由于伪列不能作用与大于符号也不能作用于between....and --因此需要将伪列-----名列  2.2 万能公式  2.3 首页上一页下一页实现 ②前端代码 2.4 末页实现优化 ①底层代码 ②前端优化  三.实现模糊查询

    2024年02月06日
    浏览(34)
  • springboot和vue:七、mybatis/mybatisplus多表查询+分页查询

    mybatisplus实际上只对单表查询做了增强(速度会更快),从传统的手写sql语句,自己做映射,变为封装好的QueryWrapper。 本篇文章的内容是有两张表,分别是用户表和订单表,在不直接在数据库做表连接的情况下,通过后台代码完成①查询订单的同时查到该订单所属的用户,②

    2024年02月07日
    浏览(40)
  • 【SpringBoot】MyBatis与MyBatis-Plus分页查询 & github中的PageHelper

            笔者写这篇博客是因为近期遇到的关于两者之间的分页代码差距,其实之前也遇见过但是没有去整理这篇博客,但由于还是被困扰了小一会儿时间,所以还是需要 加深记忆 。其实会看前后端传参解决这个问题很快、不麻烦。关于这两个框架的分页代码问题主要就

    2024年02月03日
    浏览(40)
  • mybatis-plus分页查询(springboot中实现单表和多表查询)

    一、mybatis-plus单表查询 使用mybatis-plus实现单表分页查询 非常方便,主要操作步骤如下: 配置分页查询拦截器 进行分页查询 1.首先,打开mybatis-plus官网的插件(插件主体) 或者点击mybatis-plus插件 我是配置在springboot项目中,所以找到springboot的分页配置 2.配置分页查询拦截器

    2024年02月08日
    浏览(32)
  • SpringBoot整合mybatis-plus实现分页查询(建议收藏)

    一、前言         最近学习了SpringBoot分页查询的两种写法,一种是手动实现,另一种是使用框架实现。现在我将具体的实现流程分享一下。 二、手动实现分页查询         先复习一下,SQL中的limit,下面一行sql语句的意思是从第二个数据开始查,查询出两条数据

    2024年01月16日
    浏览(58)
  • MyBatisPlus(SpringBoot版)的分页插件

    目录  一、前置工作:         1.整体项目目录结构         2.创建普通javamaven项目。         3.导入依赖,改造成springboot项目         4.配置启动类         5.创建service接口及其实现类        6.创建接口Mapper                  7.配置数据源         8.创建数

    2024年04月27日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包