解决MyBatis-Plus分页查询

2023-11-12

在使用Spring Boot或者Spring Cloud开发业务时,经常会需要查数据库(本文以MySQL数据库为例),这时候通常会用到MyBatis,数据量比较多页面展示就会要求分页,接下来正式开始。

1. Spring工程创建和添加Maven依赖

<!-- MyBatis-Plus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.1</version>
</dependency>
<!-- MySQL -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.38</version>
</dependency>

2. 添加application.properties配置

server.port=8080
spring.application.name=demo
spring.datasource.url=jdbc:mysql://192.168.1.11:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

3. 创建表user对应的对象User

import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.time.LocalDateTime;

@TableName("user")
public class SignalFixed implements Serializable {
    private static final long serialVersionUID = 1L;

    private Integer age;

    private String name;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

4. 创建UserMapper

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.model.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

5. 配置分页插件(重点,没配分页不生效)

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MybatisPlusPageHelperConfig {

    public MybatisPlusPageHelperConfig() {

    }

    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }

}

6. 编写controller进行测试

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.mapper.UserMapper;
import com.example.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class Test {

    @Autowired
    private UserMapper userMapper;

    @GetMapping("/test")
    public String test() {

        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        Page<User> page = new Page<>(0, 1);
        List<User> users = userMapper.selectPage(page, queryWrapper).getRecords();
        return user.get(0).getName();
    }
}

7. 运行Spring Boot的Application, 在页面http://localhost:8080/test访问得到结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决MyBatis-Plus分页查询 的相关文章

随机推荐

  • mysql join 循环_MySQL中Join的基本实现原理

    在 MySQL 中 只有一种 Join 算法 就是大名鼎鼎的 Nested Loop Join 他没有其他很多数据库所提供的 Hash Join 也没有 Sort Merge Join 顾名思义 Nested Loop Join 实际上就是
  • 强势出圈!当NFT头像袭来,你pick哪一款?

    NFT有多火爆 看看余文乐的新头像就知道了 余文乐instagram用的头像正是CryptopPunks 加密朋克 系列 不止余文乐 姚明 村上隆 锡安 威廉姆森 阿姆 撒盐哥等等弄潮儿纷纷打卡加密艺术 名人效应对NFT的强势崛起起着强有力
  • QVector、QList、QLinkedList类用法区别

    QVector QList QLinkedList类用法区别 1 QVector 是提供动态数组的一个模板类 QList 是提供列表的一个模板类 QLinkedList 是提供链表的一个模板类 2 QVector
  • 【比赛合集】50+场可报名的数据挖掘奖金赛,任君挑选!

    CompHub 实时聚合多平台的数据类 Kaggle 天池 和OJ类 Leetcode 牛客 比赛 本账号同时会推送最新的比赛消息 欢迎关注 近期CompHub对进行中的比赛增加了 是否可报名 的识别 你可以直接在CompHub中浏览当前可
  • QLineEdit用正则限制文本框的输入内容+正则表达式语法

    参考文章 QLineEdit输入限制 使用正则表达式限制输入浮点数 QRegExp rx 0 1 9 0 9 0 5 d 1 4 t 使用正则表达式限制只能输入数字 QRegExp rx 0 9 QRegExpValidator valid
  • 【插入排序算法】

    1 请设计直接插入排序算法 折半插入排序算法 希尔排序算法 输出每一趟的排序结果 2 源码 include
  • MMU基本概念及工作原理

    1 什么是MMU MMU是 MemoryManagementUnit 的缩写即 内存管理单元 针对各种CPU MMU是个可选的配件 MMU负责的是虚拟地址与物理地址的转换 提供硬件机制的内存访问授权 现代 CPU 的应用中 基本上都选择了使
  • qt creator各个部件显示图片总结

    在工作中 UI设计经常需要显示各式各样的图片 下面就总结了qt如何在一些部件中显示图片的方式 一 QFrame或者QWidget显示图片 在属性stylesheet中填写 loginBoxFrame border image url ico
  • 经验分享:使用谷歌浏览器下载想要的任意网页视频/音乐的方法

    在上网的时候 有些时候看到好看的视频或者需要下载需要的视频 音乐 尤其是那种在网页上面的视频 音乐 想要下载 但是根本没有下载按钮 那怎么下载呢 其实步骤很简单 只需要电脑上安装的有谷歌浏览器 轻松解决这个下载不了网页视频 音乐的问题 通过
  • Android 一个动态获取View宽高的方法

    使用场景可以为已经绘画出的view 想根据比例动态改变宽高 public class ViewUtil public static void getViewWidth final View view final OnViewListener
  • FasterTransformer :transformer类模型的三种结构

    Transformer是一种基于注意力机制的深度神经网络结构 常用于文本生成 机器翻译等NLP任务 目前常用的Transformer类模型架构主要有三种 结构 例子 仅编码器 EncoderOnly bert T5 输入为一整个句子 仅解码
  • 重磅!不止是芯片!半导体全产业链分析

    来源 杨明辉电子 ID gh e6a65dbbbff9 作者 光大电子团队 周期性波动向上 市场规模超4000亿美元 半导体是电子产品的核心 信息产业的基石 半导体行业因具有下游应用广泛 生产技术工序多 产品种类多 技术更新换代快 投资高风
  • maya阿诺德渲染失败_maya云渲染出图异常,Maya云渲染出图错误原因及解决方案

    maya出图异常处理插件配置错误 现象 1 本地文件使用的arnold渲染器 平台上配置的是vray 类似于这种平台配置与本地使用不一致的情况 2 本地文件中用到的插件 在平台上没有配置 3 本地文件中使用的插件版本与在平台上配置的不符合
  • 32位计算机系统安装教程,win732位光盘安装教程

    不少小伙伴都觉得win732位光盘安装的方法非常不错 可是究竟要怎么做 就有很多朋友心中有问号了 其实win732位光盘安装的方法是非常简单的啦 如果大家想要学习的话 下面小编就分享给大家方法吧 现在的安装方法越来越简单了 逐渐从光盘安装到
  • “职场老人给应届生的建议:规划、人际关系和积极心态”

    当前的就业形势越来越严峻 尤其是对于应届生来说更加困难 如何在职场上脱颖而出 成为受人重视的优秀员工 是每个应届生都需要认真思考和努力追求的目标 下面将介绍一些有效的方法和策略 帮助应届生提高自己的职场竞争力 以及对应届生职场发展的关键推动
  • 运用知识图谱技术,赋能多领域应用 ——“未来杯”AI学术联赛总决赛暨颁奖典礼圆满落幕

    由北京大学软件工程国家工程研究中心主办 华为终端有限公司及中软国际教育科技集团全程战略支持 STEER TECH科技平台 北京乐智元素科技有限公司 艾肯文化传媒 北京 有限公司 AI TIME承办 华为NAIE网络人工智能平台作为技术支持战
  • css实现三角形的6种方法

    在一些面试经验中 经常能看到有关css的题目都会有一道如何使用css绘制三角形 而常见的回答通常也只有使用border进行绘制一种方法 而css发展到今天 其实有很多有意思的仅仅使用css就能绘制出来的三角形的方式 本文将展示6中使用css
  • 工程安排(拓扑排序)

    读入文件project txt 8 10 1 2 3 4 5 6 7 8 1 2 6 A 1 5 2 B 2 3 3 C 2 4 5 D 2 5 3 E 3 7 2 F 4 7 3 G 5 6 4 H 6 7 2 I 7 8 2 J inc
  • qt---plt格式处理

    qDebug lt lt do perim lt lt runPerimeterFlag if runPerimeterFlag QPointF point 映射坐标点 添加标志位 QString retval IN SP1 PU 起始坐标
  • 解决MyBatis-Plus分页查询

    在使用Spring Boot或者Spring Cloud开发业务时 经常会需要查数据库 本文以MySQL数据库为例 这时候通常会用到MyBatis 数据量比较多页面展示就会要求分页 接下来正式开始 1 Spring工程创建和添加Maven依