java分页与排序orderby_mysql排序分页

java分页与排序orderby_mysql排序分页java分页与排序代码如下不解释代码如下不解释publicclassSortObimplementsComparable{privateStringname;privateintage;privateDatecreateDate;publicSortOb(Stringname,intage,DatecreateDate){ this.name=name; this.age=age; this.createDate=createDate;}

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

java分页与排序

代码 如下不解释

public class SortOb implements Comparable{

private String  name;
private int age;
private Date createDate;

public SortOb(String name,int age,Date createDate) {
	this.name = name;
	this.age = age;
	this.createDate = createDate;
}

public Date getCreateDate() {
	return createDate;
}

public void setCreateDate(Date createDate) {
	this.createDate = createDate;
}

public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public int getAge() {
	return age;
}
public void setAge(int age) {
	this.age = age;
}

// @Override
// public int compareTo(SortOb o) {

// return this.age – o.getAge();
// }
@Override
public int compareTo(SortOb o) {

try {

Date dt1 = o.getCreateDate();
Date dt2 = this.getCreateDate();
if (dt1.getTime() > dt2.getTime()) {

return -1;//小的放前面
}else {

return 1;
}
} catch (Exception e) {

e.printStackTrace();
}
return 0;
}
}

public class ListSortTest {

public static void main(String[] args) throws ParseException {
	List<SortOb> list = new ArrayList<SortOb>();
	DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
	Date dateA = format1.parse("2002-1-18 22:01:01");
	Date dateB = format1.parse("2001-1-18 22:01:01");
	Date dateC = format1.parse("2005-1-18 22:01:01");
	Date dateD = format1.parse("2004-1-18 22:01:01");
	Date dateE = format1.parse("2006-1-18 22:01:01");
	Date dateF = format1.parse("2003-1-18 22:01:01");
	Date dateG = format1.parse("2007-1-18 22:01:01");
	Date dateH = format1.parse("2009-1-18 22:01:01");
	Date dateI = format1.parse("2006-1-18 22:01:01");
	Date dateJ = format1.parse("2008-1-18 22:01:01");
	Date dateK = format1.parse("2010-1-18 22:01:01");
	Date dateL = format1.parse("2009-1-18 22:01:01");

	SortOb a = new SortOb("bb", 2,dateA);
	SortOb b = new SortOb("aa", 1,dateB);
	SortOb c = new SortOb("ee", 5,dateC);
	SortOb d = new SortOb("dd", 4,dateD);
	SortOb e = new SortOb("ff", 6,dateE);
	SortOb f = new SortOb("cc", 3,dateF);
	SortOb g = new SortOb("gg", 7,dateG);
	SortOb h = new SortOb("ii", 9,dateH);
	SortOb i = new SortOb("zz", 6,dateI);
	SortOb j = new SortOb("hh", 8,dateJ);
	SortOb k = new SortOb("hh", 10,dateK);
	SortOb l = new SortOb("jj", 9,dateL);
	list.add(a);
	list.add(b);
	list.add(c);
	list.add(d);
	list.add(e);
	list.add(f);
	list.add(g);
	list.add(h);
	list.add(i);
	list.add(j);
	list.add(k);
	list.add(l);
	Collections.sort(list, (SortOb b1, SortOb b2) -> b2.compareTo(b1));

	Map<String, Object> map = getPagingResultMap(list,2,10);
	List<SortOb> pageList = (List<SortOb>) map.get("result");

	for (SortOb ob : pageList) {
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String dateString = formatter.format(ob.getCreateDate());
		System.out.println(dateString);
	}

// for (SortOb ob : list) {

// System.out.println(ob.getAge());
// }

}

public static  Map<String, Object> getPagingResultMap(List<SortOb> list, Integer currPageNo, Integer pageSize) {
	Map<String, Object> retMap = new HashMap<>();

	if (list.isEmpty()) {
		retMap.put("result", Collections.emptyList());
		retMap.put("totalPageNum", 0);
		return retMap;
	}
	
	int totalRowNum = list.size();
	
	//页数超过数据总页数返回空list
	if (totalRowNum< pageSize * (currPageNo-1)) {
		retMap.put("result", Collections.emptyList());
		retMap.put("totalPageNum", totalRowNum);
		return retMap;
	}
	
	int totalPageNum = (totalRowNum - 1) / pageSize + 1;

	int realPageNo = currPageNo;
	if (currPageNo > totalPageNum) {
		realPageNo = totalPageNum;
	} else if (currPageNo < 1) {
		realPageNo = 1;
	}

	int fromIdx = (realPageNo - 1) * pageSize;
	int toIdx = realPageNo * pageSize > totalRowNum ? totalRowNum : realPageNo * pageSize;
			
	List<SortOb> result = list.subList(fromIdx, toIdx);
	
	retMap.put("result", result);
	retMap.put("totalPageNum", totalPageNum);
	return retMap;

}

// public static void main(String[] args) {

// int totalRowNum = 12;
// int pageSize = 10;
// int currPageNo = 2;
// System.out.println((totalRowNum< pageSize * (currPageNo-1)));
// }

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186497.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux tracker服务器搭建,linux 下 BT Tracker服务器搭建

    linux tracker服务器搭建,linux 下 BT Tracker服务器搭建必须有python2.*以上的环境1、安装bittorrenttarzxvfBitTorrent-3.4.2.tar.gzcdBitTorrent-3.4.2pythonsetup.pyinstall2、启动Bit服务./bttrack.py–port6969–dfiledstate>>/var/log/bttrack.log#表示打开6969并记录log3、制…

    2022年6月25日
    42
  • JS文本操作 Scripting.FileSystemObject

    JS文本操作 Scripting.FileSystemObjectScripting.FileSystemObject方法或者属性描述BuildPath()生成一个文件路径CopyFile()复制文件CopyFolder()复制目录CreateFolder()创建新目录CreateTextFile()生成一个文件DeleteFile()删除一个文件DeleteFolder()删

    2022年7月14日
    15
  • 进程调度算法设计_三种调度算法

    进程调度算法设计_三种调度算法【实验目的】进程管理是操作系统中的重要功能,用来创建进程、撤消进程、实现进程状态转换,它提供了在可运行的进程之间复用CPU的方法。在进程管理中,进程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的进程调度,目的是加深对进程调度工作的理解,掌握不…

    2022年9月26日
    5
  • 使用torchvision时报错:ModuleNotFoundError: No module named ‘six‘

    使用torchvision时报错:ModuleNotFoundError: No module named ‘six‘AnacondaPowershellPrompt中直接输入pipinstallsix

    2022年6月24日
    189
  • 二叉树堆的概念_堆是满二叉树正确吗

    二叉树堆的概念_堆是满二叉树正确吗文章目录前言一、树概念及结构????树的概念????树的相关概念????树的表示????树在实际中的运用(表示文件系统的目录树结构)二、二叉树概念及结构????二叉树的概念????特殊的二叉树????二叉树的性质????二叉树的概念选择题????二叉树的存储结构三、二叉树顺序结构及实现????二叉树的顺序结构????堆的概念及结构????堆的概念选择题????堆的实现1、堆向下调整算法2、堆的创建3、堆的时间复杂度4、堆的插入5、堆的删除6、堆的代码实现????堆的应用1、堆排

    2022年8月23日
    6
  • JAVA线程通信详解[通俗易懂]

    JAVA线程通信详解[通俗易懂]目录一、概述二、wait/notify机制三、Condition四、生产者/消费者模式五、线程间的通信——管道六、方法Join的使用一、概述    线程与线程之间不是相互独立的个体,它们彼此之间需要相互通信和协作,最典型的例子就是生产者-消费者问题:当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列…

    2022年6月19日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号