myBatis分页查询

MyBatis-Plus分页查询 在实际开发中,对于大量数据的查询,可以通过分页查询的方式来减少查询量和提高查询效率。在 MyBatis-Plus 中,分页查询可以通过使用 Page 对象和 IService 接口提供的分页方法来实现。MyBatis-Plus 的分页插件 PaginationInnerInterceptor 提供了强大的分页功能,支持多种数据库,使得分页查询变得简单高效。 阅读详情

分页的实现?

分页的时候考虑的问题:

分页的大小,分页的索引。

比如:分页的大小为10,分页的起始索引为1(索引从1开始)

第一页:1到10.    起始行号: (页的索引-1)*分页大小+1

                   结束行号: 页的索引*分页大小

 

实现方案:

1)比如针对UserInfo的实体对象做分页处理,那么先创建一个分页的实体类,该类继承自UserInfo。

package com.model;


public class UserInfoPage extends UserInfo{
   // 分页的索引
private int pageIndex;
// 分页的大小
private int pageSize;
// 分页的起始行
private int startNum;
// 分页的结束行
private int endNum;
public int getPageIndex() {
return pageIndex;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getStartNum() {
return startNum;
}
public void setStartNum(int startNum) {
this.startNum = startNum;
}
public int getEndNum() {
return endNum;
}
public void setEndNum(int endNum) {
this.endNum = endNum;
}


}

2)在接口中定义一个方法,

  public List<UserInfo> getListByPage(UserInfoPage upage);

3)在Mapper文件中编写SQL语句:

<select id="getListByPages" parameterType="com.model.UserInfoPage" resultType="com.model.UserInfo">
      select u.*
      From (Select rownum as num,userInfo.*
            from userInfo
            <where>
            <if test= "userName!=null">
                  And userName=#{userName}
              </if>
     <if test= "userPwd!=null"> 
         And userPwd=#{userPwd}
     </if>
     <if test= "userMail!=null">
         And userMail=#{userMail}
     </if>
     <if test= "address!=null">
         And address=#{address}
     </if>
     <if test= "reason!=null">
         And reason=#{reason}
     </if>
     <if test= "userId>0">
         And userId=#{userId}
     </if>
            </where>)u
        Where  u.num between  #{startNum} and #{endNum}
  </select>



springboot+mybatis(mybatis plus)分页查询 如果你使用 springboot + mybatis plus,因为 mybatis plus 兼容 mybatis,所以即使你使用 mybatis plus 依然可以用如上方法来做分页查询,当然 mybatis plus 既然是 plus,他自己也有分页查询的一些能力,再往下会有 demo。如果你使用 mybatis 但不是 spring 项目,那么你需要首先引入 pagehelper 相关依赖,然后配置 mybatis-config.xml 分页插件,再然后在代码中使用即可。 阅读详情

相关推荐

MyBatis分页查询实战案例详解

MyBatis 是一个轻量级但功能强大的持久层框架,它摒弃了传统的全自动ORM映射方式,转而提供灵活的 SQL 控制能力。通过 XML 配置文件或注解方式,开发者可以精准定义 SQL 语句,并实现 Java 对象与数据库记录之间的映射。其核心组件包括SqlSessionMapper接口及 XML 映射文件,构成了一个松耦合、易扩展的数据访问层架构。

weixin_42527589的博客 994

mybatis的分页和mysql的分页

1、https://blog.youkuaiyun.com/eson_15/article/details/52270046 page从1开始 2、https://blog.youkuaiyun.com/a520songhai/article/details/80961322 limit从0开始

weixin_36098377的博客 424

SCCM部署教程:(3)SCCM安装

这两则摘要介绍了WSUS和SCCM的安装步骤: WSUS安装:通过服务器管理器添加"Windows服务器更新服务"角色,选择SQL数据库并指定安装路径,验证数据库连接后完成安装。 SCCM安装:先运行预检工具Prereqchk.exe,选择主站点安装类型,配置语言、站点代码和名称,设置SQL数据库连接参数(保留默认端口4022),选择通信方法和系统角色(管理点和分发点),最后完成约1小时的安装过程。 两则安装指南都强调要确保数据库配置与前期准备一致,并提供了关键配置选项的说明。

小V锅的专栏 919

修改mybatisplus ipage分页插件起始页1改为0

由于需求需要,原本ipage 插件第一页是从 1开始,现在需要将第一页改为从0开始。 如current=0 返回第一页数据 current=1 返回第二页数据 current=2 返回第三页数据 以此类推。 思路分析: 插件改变了 SQL 语句,找到插件修改 SQL 语句的位置,把计算方法改一下。 具体: 通过观察源码,发现 sql中的偏移量是通过ipage对象中的offset() 获取的。 现在只需要将此方法改为 return getCurrent() > 0 ? (getCurrent()

gdssgxf的博客 5097

从TM1到TM9:手把手教你用Wireshark抓包分析LTE下行调度与传输模式切换

本文详细解析了如何使用Wireshark抓包分析LTE下行调度中的传输模式切换,从TM1到TM9的动态调整过程。通过实战案例,包括小区边缘移动、高速场景和多用户调度,揭示eNodeB如何基于信道质量指标(如RSRP、SINR)动态切换传输模式,并提供关键信令解析和优化建议,助力网络工程师提升LTE网络性能。

weixin_42651748的博客 316

雷电模拟器安装面具环境并过软件检测系列(看这一篇就够了!)

雷电模拟器安装面具环境并过基本软件的环境检测

qq_45059975的博客 6万+

Mybatis 分页插件 Pagehelper 的 PageInfo 字段属性解释

pageNum=1,当前页码pageSize=1,每页个数size=1,当前页个数startRow=1,由第几条开始endRow=1,到第几条结束total=3,总条数pages=3,总页数list= XXXX 查出出来的数据集合prePage=0,上一页nextPage=2,下一页isFirstPage=true,是否为首页isLastPage=false,是否为尾页hasPreviousPage=false,是否有上一页hasNextPage=true,是否有下一页。

m0_60229361的博客 815

【ISAR成像】基于Matlab的飞机点目标模型仿真与图像优化

本文详细介绍了如何使用Matlab进行ISAR成像仿真,重点讲解了从构建飞机点目标模型到生成清晰图像的完整流程。通过模拟雷达回波、距离压缩、运动补偿及方位压缩等核心信号处理步骤,并结合相位梯度自聚焦等优化技巧,有效提升了ISAR图像的清晰度与分辨率。文章还分享了雷达参数调优、加窗处理等实战经验,为雷达信号处理与目标识别研究提供了实用指导。

weixin_29071809的博客 389

mybatis 分页思路

currentPage 当前页(从0开始) pageSize 每页数量 1. 查出总记录数totalRecord 2. 计算总页数 totalPages int totalPages = (int)Math.ceil((double) totalRecord / pageSize);

qq_17303159的博客 199

uniapp - 实现手机端H5网页直播功能效果,拿到后端推流地址或播放资源后进行前端的流畅播放和画面展示功能,uniapp实时推流/拉流直播系统详细教程(提供完整示例代码,一键复制开箱即用!)

uniapp,h5网页,手机端H5网页,uniapp h5直播功能页面,uniapp直播实时推送显示,uniapp h5直播怎么做,怎么使用uniapp去实现移动端手机H5直播,h5 vue+uniapp怎么做直播,uniapp中使用videojs构建H5直播播放器,uniappH5端怎么实现直播推流,uniapp如何实现直播,直播聊天功能,h5平台端直播用什么插件,uniapp手机网页直播用什么组件插件播放器,uniapp手机H5直播播放器详细教程,直播项目,怎么使用vue+uniapp怎么做H5实时直播

✅ 精选推荐文章 8794

Windows环境下Ollama的本地部署方案

本文主要介绍了Windows环境下Ollama的本地部署方案,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. Windows环境安装 3. API调用示例代码

herosunly的博客 11万+

mybatis分页以及mybatis-plus分页的几种方式

分页方式

qq_39217714的博客 1886

全网最全-DA14531-全球最小-BLE从入门到精通开发教程

本教程主要适用于低功耗产品,DA14531它体积小,非常适用于对体积敏感的设备,如无线可穿戴、传感器、助听器等设备。本文经过作者发大量时间来记录开发项目的调试方法,里面有许多笔者开发心得体会,旨在让读者工程师快速上手,减少摸索时间,提高软件质量。读者对象本文档主要适用以下工程师:嵌入式系统工程师单片机软件工程师IOT固件工程师BLE固件工程师。

hejinwu1314的博客 5138

MyBatis实现分页查询

MyBatis实现分页查询

m0_51660523的博客 2万+

【ComfyUI】Wan2.2 + IndexTTS 图像数字人或动物口播视频生成

本文介绍了一个基于ComfyUI的数字人口播视频生成工作流,整合了IndexTTS和图像处理技术。该系统通过多模型协同工作,实现从形象图、文本和音频输入到自动生成口播视频的全流程。核心包含WanVideo系列模型,通过CLIP Vision、T5文本编码器和Wav2Vec语音模型分别处理视觉特征、语义理解和口型同步。工作流涵盖素材加载、特征提取、音频处理和视频生成等节点,支持人物、动物等多种主体的口播内容创作。该方案自动化程度高,适用于知识讲解、剧情旁白等多种场景,能帮助创作者高效产出高质量口播视频。

Mr数据杨 2060

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

MyBatis-Plus 之分页查询

MyBatis-Plus 之分页查询 首先创建一个数据库表,如下图所示: 然后创建一个Spring Boot项目,pom.xml和配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc

kaven 18万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Mybatis 分页查询的三种实现

Mybatis 分页查询,Mybatis拦截器

zxwyhzy的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

mybatis分页查询和mybatis-plus分页查询

在这里,方法传参是查询条件和分页参数,在最终的selectPage方法,需要传两个参,一个是page对象(想办法把自己的查询条件转成这个),一个是wrapper查询条件,这个方法执行之后会把查询结果返回给page对象,比mybatis还是要简单很多的。分页查询无非就是查两个,一个是查询符合查询条件和分页条件的记录的详情,通常封装在一个List里并返回;简单来说,mybatis的分页查询就是在普通的查询上面加了分页参数,我们把分页参数读取出来,作为limit的参数放在最后即可。

m0_62519278的博客 1026

mybatis-plus分页查询详解

本文主要对mybatis-plus分页查询的原理和使用进行了详细介绍。

弹指天下 8万+

mybatis-plus分页查询三种方法

mybatis-plus分页查询两种方法

李长渊的博客 6万+

mybatis实现分页查询

一,分页的sql语句 select * from account limitstartIndex,pageSize startIndex:从哪一条数据开始,第一条数据下标为0pageSize:查询数据的偏移量(从startIndex开始查询多少条数据) 二,mybatis实现分页查询 2.1数据库字段 2.2实体类 package cn.mybatis.pojo; public class Account { private int id; private Strin.

qq_37244548的博客 3359

MyBatis中三种分页查询方式

文章目录通过limit分页查询通过Rowbounds通过分页插件pagehelper 通过limit分页查询 mapper接口 List<User> getUserByLimit(Map<String,Integer> map); mapper.xml <select id="getUserByLimit" parameterType="map" resultType="com.hzy.pojo.User"> select * from user limit #

6754

Mybatis-plus的分页查询

嗨,大家好!今天给大家分享的是Mybatis-plus 插件的分页机制,说起分页机制,相信我们程序员都不陌生,今天,我就给大家分享一下Mybatis-plus的分页机制,供大家学习和Copy。

旺仔爱编程 2万+

MyBatis 中,如何实现分页查询?

需要注意的是,由于 MyBatis 本身并没有提供任何机制来自动生成更新语句,因此开发者需要手动编写动态 SQL 语句来实现动态更新,需要考虑到 SQL 注入等安全问题,避免恶意代码注入。需要注意的是,分页查询结果需要通过缓存或其他方式进行缓存,避免多次查询导致性能下降。上面的查询语句表示从第 6 条记录开始,查询 10 条记录,即查询结果为第 6 条记录到第 15 条记录之间的数据。通过这种方式,就可以只更新实体中的非空字段,达到动态更新的效果。分别表示从第几条记录开始查询,查询的记录数。

luoluoal的博客 1万+

Mybatis分页查询

Mybatis分页查询 其实我们都知道Mybatis是对JDBC进行了轻量级的封装框架,在我们使用Mybatis对数据库进行CRUD等操作的时候,最重要的还是通过SQL语句来进行相应的操作,那么对Mybatis分页查询又该怎么来实现呢? 其实Mybatis的分页查询同样也是使用:(select * from 表名 limit number,number;)来进行分查询。下面我简单的介绍两种方式分...

田坎上 2339

MyBatis之分页查询

1.逻辑分页 1.逻辑分页主要是指,查询所有的数据,然后我们从内存中,筛选对应的分页信息; 2.MyBatis 里面有一个逻辑分页对象 RowBounds,里面主要有两个属性,offset 和limit(从第几条开始,查询多少条)。 3.可以在 Mapper 接口的方法上加上这个参数,不需要修改 xml 里面的 SQL 语句,如下selectBlogList方法。 如: BlogMapper.j...

高新富的博客 1322
上一篇: MyBatis 表与表之间的关系 1对多的情况
下一篇: Spring IOC
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值