广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java中List分页的几种方法介绍
  • 188
分享到

java中List分页的几种方法介绍

2024-04-02 19:04:59 188人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1.根据入参带分页参数进行sql查询分页2.对所有list根据分页参数分页3.PageHelper分页1.根据入参带分页参数进行sql查询分页 Criter

1.根据入参带分页参数进行sql查询分页


         Criteria criteria = new Criteria();
         //将dataAuto转成 factoryId brandId seriesId 等查询条件
         String dataAuth = "";
         TypeCaseHelper.dataAuto(criteria, dataAuth);
         // 设置分页信息
         ExtPager pager = new ExtPager();
         Integer startTure = start * pageSize;
         criteria.setMysqlPageSize(pageSize);
         criteria.setmysqlStart(startTure);
         // 排序信息
         if (StringUtils.isNotBlank(pager.getDir()) && StringUtils.isNotBlank(pager.getSort())) {
             criteria.setOrderByClause(pager.getSort() + " " + pager.getDir());
         }
         List<VhlAlarmStatusMgtEntity> listDistinct = getVhlAlarmStatusMgtEntities(vin, faultStatus, confirmStatus, startDateTime, endDateTime, sdf, sdfm, carTypeList, criteria);

对应的分页sql


  <select id="selectByExample" parameterType="Criteria" resultMap="BaseResultMap">
    select
    <include refid="Base_Column_List" />
    from status_mgt
    <where>
      <if test="condition.carTypeList != null and condition.carTypeList.size() > 0" >
        and car_type in
        <foreach collection="condition.carTypeList" item="item"  open="(" separator="," close=")">
          #{item}
        </foreach>
      </if>
      <if test="condition.startDateTime != null and condition.startDateTime!=''">
        and alarm_time >= str_to_date(#{condition.startDateTime,jdbcType=VARCHAR},'%Y-%m-%d %H:%i:%S')
      </if>
      <if test="condition.endDateTime != null and condition.endDateTime!=''">
        and  str_to_date(#{condition.endDateTime,jdbcType=VARCHAR},'%Y-%m-%d %H:%i:%S') >= alarm_time
      </if>
      and logic_flag = 1
    </where>
    order by alarm_time desc
    <if test="mysqlStart != null  and mysqlPageSize != null">
        limit #{mysqlStart}, #{mysqlPageSize}
    </if>
 
  </select>

2.对所有list根据分页参数分页


         Criteria criteria1 = new Criteria();
         List<VhlAlarmStatusMgtEntity> listDistinctForCout = getVhlAlarmStatusMgtEntities(vin, faultStatus, confirmStatus, startDateTime, endDateTime, sdf, sdfm, carTypeList, criteria1);
         Integer count = listDistinctForCout.size(); // 记录总数
         Integer pageCount; // 页数
         if (count % pageSize == 0) {
             pageCount = count / pageSize;
         } else {
             pageCount = count / pageSize + 1;
         }
         int fromIndex; // 开始索引
         int toIndex; // 结束索引
         if (!pageCount.equals(start+1)) {
             fromIndex = start * pageSize;
             toIndex = fromIndex + pageSize;
             if(toIndex > count){
                 fromIndex = (start-1) * pageSize;
                 toIndex = count;
             }
         } else {
             fromIndex = start * pageSize;
             toIndex = count;
         }
         List<VhlAlarmStatusMgtEntity> pageList = listDistinctForCout.subList(fromIndex, toIndex);

3.PageHelper分页


      //开启分页
        PageHelper.startPage(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
 
        PageInfo<Map<String, String>> pageInfo = new PageInfo(datalist);
 
        HashMap<String, Object> map= new HashMap<>();
        map.put("datalist", datalist);
        map.put("total", pageInfo.getTotal());
        map.put("size", pageInfo.getPageSize());
        map.put("page", pageInfo.getPageNum());

到此这篇关于java中List分页的几种方法介绍的文章就介绍到这了,更多相关java List分页方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: java中List分页的几种方法介绍

本文链接: https://www.lsjlt.com/news/158984.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中List分页的几种方法介绍
    目录1.根据入参带分页参数进行sql查询分页2.对所有list根据分页参数分页3.PageHelper分页1.根据入参带分页参数进行sql查询分页 Criter...
    99+
    2022-11-12
  • java几种乱码处理方法介绍
    java乱码解决方法:解决方式1(若乱码参数多,就比较低效)浏览器默认编码为ISO-8859-1,后端Servlet接收请求参数,按照ISO-8859-1进行解码,得到二进制流,然后再用UTF-8编码。示例代码: // 获得请...
    99+
    2015-10-14
    java 乱码
  • java中的几种类介绍
    Date类(1)Date类的概述:表示特定的瞬间表示到毫秒(2)构造方法主要有两种:public Date() public Date(long date) //把一个long类型的毫秒值转换成一个日期对象(3)成员方法:public l...
    99+
    2014-11-24
    java 介绍
  • css中常用的几种居中方法介绍
    本篇内容主要讲解“css中常用的几种居中方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css中常用的几种居中方法介绍”吧!今天我们就细数一下几种方法:1...
    99+
    2022-10-19
  • Python中删除文件的几种方法介绍
    本篇内容主要讲解“Python中删除文件的几种方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中删除文件的几种方法介绍”吧!前言很多时候开发者需要删除文件。可能是他错误地创建了...
    99+
    2023-06-07
  • windows7系统激活的几种方法介绍
    在你购买Windows系统安装后,会让你激活,我们来先(计算机→系统属性)我们可以看见,你的Windows系统并没有激活(如图1)这时候,我们找到未激活图标(会写:您已28没激活,立即激活windows(如图2...
    99+
    2023-05-30
    win7 激活 方法 系统 windows7
  • C#实现加密的几种方法介绍
    1.ACSII码加密 //ACSII码加密 private static string ACSIIPWd(string rpwd) { ...
    99+
    2022-11-13
  • Java分页查询的几种实现方法
    最近在做需求的过程中遇到几个需要分页查询的需求,我也对分页有了较深的了解。分页一般分为两种一种是直接在sql中分页,一种是在内存中分页。本文仅针对内存中分页做记录。 第一种    如果是一个查询接口,向接口中传入page,和size(p...
    99+
    2023-09-01
    java 数据库 mysql
  • JS实现深拷贝的几种方法介绍
    引 如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。 此篇文章...
    99+
    2022-11-13
  • asp.net gridview列宽固定的几种方法介绍
    1、在编辑列里面,直接就有设置列宽度的!如果你不想单元格的内容把单元格撑大,那么就加一个样式<style>table{table-layout:fixed}</st...
    99+
    2022-11-15
    asp.net gridview
  • javascript实现原生ajax的几种方法介绍
    自从javascript有了各种框架之后,比如jquery,使用ajax已经变的相当简单了。但有时候为了追求简洁,可能项目中不需要加载jquery这种庞大的js插件。但又要使用到aj...
    99+
    2022-11-15
    javascript 原生ajax
  • java中List分页的方法有哪些
    本篇内容介绍了“java中List分页的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.根据入参带分页参数进行sql查询分页&n...
    99+
    2023-06-21
  • spring启动加载程序的几种方法介绍
    关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种:第一种:通过注解@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作import javax.anno...
    99+
    2023-05-31
    spring 加载
  • Java中List分片的5种方法小结
    目录简介 1.Google Guava 2.apache commons 3.Hutool 4.JDK 5.自定义分片 总结 前些天在实现 MyBatis 批量插入时遇到了一个问题,...
    99+
    2022-11-12
  • C#中数组扩容的几种方式介绍
    假设有一个规定长度的数组,如何扩容呢?最容易想到的是通过如下方式扩容: class Program { static void Main(string...
    99+
    2022-11-13
  • java中实现分页的常见几种方式
    文章目录 1. 前言2. 先说结论3. 例子1. 数据库SQL的限制条件(limit、fetch)2. 使用List集合的截取功能实现3. 插件PageHelper 1. 前言 无论是...
    99+
    2023-08-31
    mybatis java 分页 数据库 PageHelper
  • java中Object类4种方法详细介绍
    目录Object(四大方法):hashCode()方法:equals()方法:getClass()方法:toString()方法:总结Object(四大方法): 文章干货满满,耐性看...
    99+
    2022-11-12
  • Java中ArrayList初始化的四种方法的介绍
    本篇内容主要讲解“Java中ArrayList初始化的四种方法的介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中ArrayList初始化的四种方法的介绍”吧!1 起因在实际业务开发中...
    99+
    2023-06-14
  • Java 中分形图的几种方法详解
    Java分形Java的分形主要有一下几种:类似Clifford的分形。这种分形的特点是:分形的初始坐标为(0,0),通过初始坐标经过大量的迭代,得到一系列的点,根据得到的点来绘制分形曲线。这类分形的参数有限,可以很简单的实现。类似IFS f...
    99+
    2023-05-31
    java 分形 ava
  • Java线程池的几种实现方法和区别介绍实例详解
    下面通过实例代码为大家介绍Java线程池的几种实现方法和区别:import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;...
    99+
    2023-05-31
    java 线程池 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作