五、分页总结

news2024/9/23 23:31:35

文章目录

  • 一、分页的几种方式
    • 1、使用关键字实现分页(limit)
    • 2、通过 RowBounds 类实现分页查询
    • 3、使用分页插件实现分页

       分页的作用:在进行查询时如果数据量庞大的话会造成大量的内存压力,让程序卡顿。这时候使用分页减少数据的处理量便可以很好的解决此问题。

一、分页的几种方式

1、使用关键字实现分页(limit)

  • 语法:SELECT * from user limit startIndex,pageSize

分页代码示例:

  • mapper 接口

    // 分页查询
    List<User> queryLimit(Map<String,Integer> map);
    
  • mapper.xml

    <select id="queryLimit" parameterType="map" resultType="com.demo_01.entity.User">
            select * from user limit  #{startIndex}, #{pageSize}
    </select>
    
  • queryLimitMain 测试类

    // 分页查询
    public class queryLimitMain {
    
       @Test
       public void test() throws IOException {
    
           InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
           SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
           SqlSession sqlSession = sqlSessionFactory.openSession();
           try {
               IUserMapper mapper = sqlSession.getMapper(IUserMapper.class);
               Map<String,Integer> map = new HashMap<>();
               map.put("startIndex",0);
               map.put("pageSize",2);
               List<User> list = mapper.queryLimit(map);
               for(User user:list){
                   String info= String.format("id:%s,用户名:%s,密码:%s",user.getId(),user.getName(),user.getPwd() );
                   System.out.println(info);
               }
           }finally{
               sqlSession.close();
           }
       }
    }
    
  • 运行结果 :
    在这里插入图片描述


2、通过 RowBounds 类实现分页查询

  • 使用 RowBounds 类的构造方法实现分页

分页代码示例:

  • mapper 接口

    // 分页查询
    List<User> queryRowBounds(RowBounds rowBounds);
    
  • mapper.xml

    <select id="queryRowBounds" resultType="com.demo_01.entity.User">
        select * from user
    </select>
    
  • queryRowBoundsMain 测试类

    // 分页查询
    public class queryRowBoundsMain {
    
       @Test
       public void test() throws IOException {
    
           InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
           SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
           SqlSession sqlSession = sqlSessionFactory.openSession();
           try {
               IUserMapper mapper = sqlSession.getMapper(IUserMapper.class);
    
               RowBounds rowBounds = new RowBounds(0,2);
               List<User> list = mapper.queryRowBounds(rowBounds);
               for(User user:list){
                   String info= String.format("id:%s,用户名:%s,密码:%s",user.getId(),user.getName(),user.getPwd() );
                   System.out.println(info);
               }
           }finally{
               sqlSession.close();
           }
       }
    }
    
  • 运行结果:

    在这里插入图片描述


3、使用分页插件实现分页

在这里插入图片描述

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

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

相关文章

基于SpringBoot编写starter,自己写个类库引入使用

我们在做springboot项目的时候经常会创建项目后先引入各种starter&#xff0c;比如操作数据库的mybatis-plus-boot-starter&#xff0c;数据源的druid-spring-boot-starter等等。引入starter的好处就是可以将第三方的依赖库快速的整合到我们自己的springboot项目中&#xff0c;…

​最新Xcode9 无证书真机调试流程

写在前面 公司分配了新的测试机,证书99台名额已满,所以上网找教程,学习了一下如何使用Xcode无证书进行真机调试。​ 一. 创建证书​ 1. 运行Xcode&#xff0c; Xcode–》Preference–》添加账号&#xff08;能在appstore下载的账号&#xff09;​ 2. 选中刚才添加的AppleID–…

JSP 社区联动系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 社区联动系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开 发&#xff0c;数据库为Mysql&#xff0c;使用ja…

鸿蒙harmony天气预报Demo

1.准备工作 1.1创建项目 sdk为6版本&#xff0c;所以使用华为的远程模拟器p40即可。 1.2准备图片资源 这里把天气预报用到的天气提示的图片全放在资源目录下的media文件下。 具体资源在github仓库已包含&#xff0c;自行前往。 1.3配置文件 接着是修改配置文件&#xff0…

[附源码]Python计算机毕业设计SSM家教管理系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

DevComponents.DotNetBar2之SuperTabControl使用技巧

关于类似SuperTabControl的使用如何动态调整其TAB标签的顺序问题&#xff0c;搜了全网也没有找到类似答案&#xff0c;都提到tab键的顺序或者是通过控件界面进行调整其顺序&#xff0c;都不是想要的结果&#xff0c;有个网友问的类似问题但是没有一个答案可用。经过反复测试总结…

华为云Nginx配置

配置yum源 mkdir -p /etc/yum.repos.d/repo_bak/ mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_bak/ cd /etc/yum.repos.d wget http://mirrors.myhuaweicloud.com/repo/mirrors_source.sh && sh mirrors_source.sh清除原有yum缓存 yum clean all 执行生成新的…

Win10编译Android版本的FFmpeg库

安装MSYS2 下载地址&#xff1a;MSYS2 安装完成后打开MSYS2执行如下命令&#xff0c; 安装所需要的工具链 pacman -S --needed base-devel mingw-w64-x86_64-toolchain下载android NDK 我在Android Studio里面已经下载过了&#xff0c;没有的可以自己百度去官网下载NDK 我…

[矩阵论] Unit 4. 矩阵的广义逆 - 知识点整理

注: 以下内容均由个人整理, 不保证完全准确, 如有纰漏, 欢迎交流讨论参考: 杨明, 刘先忠. 矩阵论(第二版)[M]. 武汉: 华中科技大学出版社, 2005 4 矩阵的广义逆 4.1 矩阵的左逆与右逆 左逆 右逆 Def’ 4.1: 设 A∈CmnA\in C^{m\times n}A∈Cmn ∃B∈Cnm\exists B\in C^{n\t…

MySQL数据库的性能优化及自动化运维与Mysql高并发优化详细教程

首先&#xff0c;我们来看看DBA的具体工作&#xff0c;我觉得 DBA 真的很忙&#xff1a;备份和恢复、监控状态、集群搭建与扩容、数据迁移和高可用&#xff0c;这是我们 DBA 的功能。 了解这些功能以后要对体系结构有更加深入的了解&#xff0c;你不知道怎么处理这些故障和投诉…

FastReport Online Designer 2023

FastReport Online Designer 2023 添加了以ESRI形状文件格式显示图形地图的新地图组件。 添加了一个用于在数据源中选择表的新按钮。 添加了使用“Shift”或“Ctrl”键在报告树中选择多个项目的选项。 现在可以更改多个选定对象的特性值。 在您使用新配置重置选项后,设计器现在…

Servlet—servlet概述

文章目录servlet概述狭义广义总结图示部分细化&#xff1a;tomcat和servlet关系统一资源定位符统一资源定位符详细内容&#xff1a;协议http协议总结图示ip地址————————————————————————————————servlet概述 本质上是java专门用来处理web数据…

Effective C++条款27:尽量少做转型动作(Minimize casting)

Effective C条款27&#xff1a;尽量少做转型动作&#xff08;Minimize casting&#xff09;条款27&#xff1a;尽量少做转型动作1、数据类型转型语法回顾1.1 C风格的cast1.2 C风格的cast1.3 新风格转型更受欢迎2、使用cast会产生运行时代码——不要认为你以为的就是你以为的3、…

“一人负债,全家背锅”,严厉打击信用卡套现欺诈

不可否认&#xff0c;负债消费往往与高风险密不可分。 近日&#xff0c;一则关于网购的新闻冲上热搜。故事的主人公沉迷于网购&#xff0c;工资不足便利用信用卡透支&#xff0c;长期的积累已至入不敷出&#xff0c;只能向家人求助&#xff0c;家人也因此欠下巨额债务。最终&a…

文本-图像生成(Text-to-Image Generation)的评价指标介绍——CLIPScore、TISE

目录CLIPScore: A Reference-free Evaluation Metric for Image Captioning背景公式总结TISE: Bag of Metrics for Text-to-Image Synthesis Evaluation背景文本-图像生成基本评价指标图像质量和多样性图像和文本相关性创新点1&#xff1a;IS*创新点2&#xff1a;多目标文本-图…

GIS基础测量、地形分析、位置分析、空间分析功能介绍与实操应用

通知 入门级、进阶级一、二、三期、高阶级一期已完成&#xff0c;大家可进入公众号“图新地球”查看底部菜单&#xff1a;2022教程&#xff0c;获得软件直播课程的相关资料&#xff0c;包括直播讲解、直播PPT、直播的示例数据。 另外&#xff0c;本周周三12月7日将举行进阶级…

2020全栈学习Demo大合集 AllDemo-996station GitHub鉴赏官

推荐理由&#xff1a; 2020全栈学习Demo大合集 包含最新 hooks TS 等 还有umidva,数据可视化等实战项目 (持续更新中) 全栈学习 Demo 大合集 说明: 本项目包含常用的技术点和技术栈,时间为 2020 年度最新的技术栈,大范围的包含(Vue,Vuex,SSR,vue 源码解析,vue 实战,vue 单元测…

使用php解压缩ZipArchive类实现后台管理升级的解决方案

项目说明 开发php项目管理系统&#xff0c;由于是新项目且已经部署在生产环境&#xff0c;导致需要根据实际使用情况&#xff0c;进行及时的功能升级或bug修复。 每次升级&#xff0c;进行程序打包&#xff0c;然后通过FTP上传覆盖&#xff1b;后期因服务器转为内网&#xff…

自然语言处理基本概念 natural_language_processing-996station GitHub鉴赏官

推荐理由&#xff1a;自然语言处理基本概念 自然语言处理技术 第1章 语言模型 第2章 隐马尔可夫模型 第3章 最大熵模型 第4章 条件随机场模型 适用人群&#xff1a;自然语言 推荐指数&#xff1a;3 项目名称&#xff1a;natural_language_processing 自然语言处理基本概念 …

二叉树的遍历

二叉树的遍历 文章目录二叉树的遍历•二叉树的遍历定义• 二叉树的三种遍历方式先序遍历的递归算法中序和后序遍历的递归算法二叉树遍历的相关问题♥问题1解题模型▪算法构思:▪代码实现:♥问题2解题模型构建思路:代码如下:♥问题3算法构思:代码构建:♥问题4算法思路:解题模型:…