初学Mybatis之 Limit 或 RowBounds 实现分页

Limit 分页:

startIndex 起始位置,pageSize 每页显示个数

select * from mybatis.`user` limit startIndex,pageSize;

比如 limit 0,2;

从第零个开始查,每页显示两个(如果第一个数字是 1,其实是从第二条数据开始展示)

如果 limit 后只有一个数(比如 limit 3;),即显示这个数的数据条数(显示 3 条数据)

UserMapper 接口:写个方法

User 类是根据表字段设置的变量,无参、有参、get/set 方法

package com.demo.dao;import com.demo.pojo.User;import java.util.List;
import java.util.Map;public interface UserMapper {//分页List<User> getUserByLimit(Map<String,Integer> map);
}

UserMapper.xml:

id 与接口名一致

parameterType 参数类型为 map

resultType 返回结果为 sql 语句的全限定名(设了 typeAliases 别名)

    <!-- 分页 --><select id="getUserByLimit" parameterType="map" resultType="user">select * from mybatis.user limit #{startIndex},#{pageSize}</select>

 测试类:

构造 map,new 一个 HashMap

通过 put 方法设置起始位置和页面展示个数

遍历数组输出查询结果

最后关闭 sqlSession,避免造成资源浪费

package com.demo.dao;import com.demo.pojo.User;
import com.demo.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;import java.util.HashMap;public class UserDaoTest {@Testpublic void getUserByLimit(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);HashMap<String,Integer> map = new HashMap<String, Integer>();map.put("startIndex",0);map.put("pageSize",2);for (User user : mapper.getUserByLimit(map)) {System.out.println(user);}sqlSession.close();}
}

 RowBounds 分页:(面向对象)

UserMapper 接口:

package com.demo.dao;import com.demo.pojo.User;import java.util.List;public interface UserMapper {List<User> getUserByRowBounds();
}

UserMapper.xml:

    <select id="getUserByRowBounds" resultType="user">select * from mybatis.user</select>

测试类:

package com.demo.dao;import com.demo.pojo.User;
import com.demo.utils.MybatisUtils;
import org.apache.ibatis.session.RowBounds;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;import java.util.List;public class UserDaoTest {@Testpublic void getUserByRowBounds(){SqlSession sqlSession = MybatisUtils.getSqlSession();//RowBounds实现RowBounds rowBounds = new RowBounds(1,3);//通过Java代码层实现分页List<User> userList = sqlSession.selectList("com.demo.dao.UserMapper.getUserByRowBounds",null,rowBounds);for(User user:userList){System.out.println(user);}sqlSession.close();}
}

Mybatis 同时也提供了分页插件 PageHelper,详情查看链接

如何使用分页插件

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

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

相关文章

论文中的流程图参考图片

写论文的时候&#xff0c;在绘制流程图时&#xff0c;一直纠结n是大写还是小写&#xff0c;用不用斜体&#xff0c;号两边要不要空格。今天找到了一张标准的流程图来参考。图片来自 Zhi-Chang Ba et al, Combination of DCE-MRI and NME-DWI via Deep Neural Network for Predi…

[Unity] ShaderGraph实现镜头加速线/残血效果 URP

效果如下所示&#xff1a;残血状态时&#xff0c;画面会压暗角&#xff0c;并出现速度线营造紧迫感。 使用到的素材如下&#xff0c;换别的当然也可以。[这是张白色的png放射图&#xff0c;并非皇帝的新图hhh] 这个效果的实现逻辑&#xff0c;其实就是利用time向圆心做透明度的…

【全国大学生电子设计竞赛】2023年G题

&#x1f970;&#x1f970;全国大学生电子设计大赛学习资料专栏已开启&#xff0c;限时免费&#xff0c;速速收藏~

Windows11安装WSL2 笔记240726

以管理员身份打开控制台输入 wsl --status wsl --status如果什么也没有,说明系统还未安装WSL , 执行 wsl --install 进行安装 wsl --install安装完成后, 再次执行 wsl --status 可看到 wsl --status 默认版本: 2 当前计算机配置不支持 WSL1。 若要使用 WSL1&#xff0c;请启用…

CentOS配置NTP服务

更改配置文件 [rootController ~]# vim /etc/chrony.conf 重启服务并设置为开机自启动 [rootController ~]# systemctl restart chronyd.service [rootController ~]# systemctl enable chronyd.service 在另一台CentOS测试 更改配置文件 [rootCompute ~]# vim /etc/chron…

idea 自动生成pojo类

找到这个View>Tool Windows>Database配置数据库 配置好后刷新&#xff0c;查看是否连接上表 然后找到 点击后选择你将要生成的pojo需要保存到哪个文件&#xff0c;然后再次点击&#xff0c;就生成好了&#xff0c;然后自己稍作修改即可使用该pojo类了

AI绘画,100w+播放封神!1分钟教你制作AI视频!各地的守护神终于出现了

前言 神兽教程 这种视频怎么做&#xff0c;Lison也是熬夜很快写了拆解教程~ 一、获取提示词 首先在 Kimi 或者 GPT 上可以查询各个省份的特色动物是什么&#xff0c;用各个省份的特色动物去做这样的图会更有归属感一些。 例如四川是大熊猫&#xff0c;甘肃是马&#xff0c…

深度学习目标检测入门实战

深度学习目标检测入门实战 一、什么是目标检测二、目标检测常用的数据集&#xff08;开源&#xff09;&#xff08;一&#xff09;VOC数据集&#xff08;1&#xff09;背景知识&#xff08;2&#xff09;数据集的下载&#xff08;3&#xff09;VOC2007 数据集的标注&#xff08…

C++初学(4)

4.1、const限定符 如果程序在多个地方使用同一个常量&#xff0c;则需要修改该常量时&#xff0c;只需修改一个符号定义即可。前面介绍#define语句时说明过&#xff0c;C有更好的处理符号常量的方法&#xff0c;就是使用const关键字来修改变量声明和初始化。假设需要一个表示一…

【Python机器学习】朴素贝叶斯——基于贝叶斯决策理论的分类方法

k-近邻算法和决策树分类器有时会产生错误结果&#xff0c;这是可以要求分类器给出一个最优的类别猜测结果&#xff0c;同时给出这个猜测的概率估计值 概率论是许多机器学习算法的基础&#xff0c;所以深刻理解这一主题就非常重要。有一些使用概率论进行分类的方法。首先是从一…

Godot入门 06死亡机制1.0版

限制相机的底部滚动极限&#xff0c;使用标尺工具量出距离&#xff0c;设置距离为100&#xff0c;并设置平滑停止。 添加新场景&#xff0c;添加节点Area2D&#xff0c;设置碰撞的物理层为2&#xff0c;改节点名为Killzone。 拖动Killzone场景到Game场景中。给Killzone添加Coll…

NameSilo域名注册和解析2024版教程(附优惠码)

上次给大家介绍了国外知名的域名注册商Dynadot&#xff0c;今天再给大家分享另一家国外知名的域名注册商NameSilo&#xff0c;同样性价比很高。使用本站提供的优惠码&#xff1a;ieearn.com&#xff0c;你还可以在首次注册购买域名时享受1美元的优惠&#xff1a; NameSilo简介…

语言模型及数据集

一、定义 1、语言模型的目标是估计序列的联合概率&#xff0c;一个理想的语言模型就能够基于模型本身生成自然文本。 2、对一个文档&#xff08;词元&#xff09;序列进行建模&#xff0c; 假设在单词级别对文本数据进行词元化。 3、计数建模 &#xff08;1&#xff09;其中…

大语言模型是什么,该如何去学习呢

什么是 LLM**&#xff1f;** LLM(大型语言模型&#xff0c; Large Lanage Modle)是一种计算机程序&#xff0c;它可以理解和生成类似人类的文本&#xff1b;它能够像我们人类一样阅读、写作和理解语言。你可以把它想象成一个超级聪明的博学的不知疲惫的24小时全年无休的助手。…

搭建规范化的vue2项目

项目包含的库 Vue2VuexRouterEslintPrettier 环境 vue&#xff1a;2.6.14 eslint&#xff1a;7.32.0 prettier&#xff1a;2.4.1 eslint-plugin-prettier&#xff1a;4.0.0 eslint-plugin-vue&#xff1a;8.0.3 vue/cli&#xff1a;5.0.8 步骤 全局安装cli工具 npm in…

pdf转图片在线转换免费 pdf转图片在线免费 pdf转图片免费在线 工具软件操作步骤方法

pdf转jpg转换后的图片质量不高、排版混乱&#xff1f;PDF和JPG是我们日常工作中最常接触的两种文件格式。很多时候&#xff0c;我们需要将PDF文件转换为JPG格式&#xff0c;方便在不同场合中使用&#xff0c;而JPG是一种广泛使用的图片格式&#xff0c;它在图像质量和文件大小之…

在 LCD 上显示 png 图片-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板

在 LCD 上显示 png 图片 PNG 简介 无损压缩&#xff1a;PNG 使用 LZ77 派生算法进行无损压缩&#xff0c;确保图像质量不受损&#xff0c;且压缩比高 体积小&#xff1a;通过高压缩比&#xff0c;PNG 文件体积小&#xff0c;适合网络传输 索引彩色模式&#xff1a;PNG-8 格式…

1. Vue3入门

文章目录 使用create-vue创建项目关键文件<script setup>语法糖组合式API - reactive和ref函数组合式API - computed组合式API - watch组合式API - 生命周期函数组合式API - 父子通信组合式API - 模版引用组合式API - provide和inject综合案例 使用create-vue创建项目 n…

鸿蒙HarmonyOS【应用开发五、布局使用】

✍️作者简介&#xff1a;小北编程&#xff08;专注于HarmonyOS、Android、Java、Web、TCP/IP等技术方向&#xff09; &#x1f433;博客主页&#xff1a; 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN &#x1f514;如果文章对您有一定的帮助请&#x1f…

CogVideo 实测,智谱「清影」AI视频生成,全民免费,连 API 都开放了!

不得不说&#xff0c;AI 视频生成界最近非常火热~ 前有快手「可灵」开放内测&#xff0c;一下子带火了老照片修复&#xff0c;全网刷屏&#xff1a; 怕是你还没拿到内测资格&#xff0c;被称为 “国货之光” 的「可灵」就结束了免费无限量模式。每天只有66点的免费额度&#x…