javaweb实现分页_javaweb分页功能的代码

javaweb实现分页_javaweb分页功能的代码首先我们要清楚java分页的思路第一我们要明白前端页面需要向java后台传递当前页码数以及每页显示多少条数据第二java后台代码需要向前端页面传递每页显示的数据,以及总条数以及总页数代码如下:首先我们要创建一个分页类用来存储数据publicclassPageObjectimplementsSerializable{privatestaticfinallongserialVersi…

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

Jetbrains全系列IDE稳定放心使用

首先我们要清楚java分页的思路

第一我们要明白前端页面需要向java后台传递当前页码数以及每页显示多少条数据

第二java后台代码需要向前端页面传递每页显示的数据,以及总条数以及总页数

代码如下:

首先我们要创建一个分页类用来存储数据

public class PageObject implements Serializable {

private static final long serialVersionUID = 1L;

/** 当前页的页码值 */

private Integer pageCurrent = 1;

/** 页面大小 */

private Integer pageSize = 10;

/** 总行数(通过查询获得) */

private Integer rowCount = 0;

/** 总页数(通过计算获得) */

private Integer pageCount = 0;

/** 当前页记录 */

private List records;

public Integer getPageCurrent() {

return pageCurrent;

}

public void setPageCurrent(Integer pageCurrent) {

this.pageCurrent = pageCurrent;

}

public Integer getPageSize() {

return pageSize;

}

public void setPageSize(Integer pageSize) {

this.pageSize = pageSize;

}

public Integer getRowCount() {

return rowCount;

}

public void setRowCount(Integer rowCount) {

this.rowCount = rowCount;

}

public Integer getPageCount() {

pageCount = rowCount / pageSize;

if (rowCount % pageSize != 0) {

pageCount++;

}

return pageCount;

}

public void setPageCount(Integer pageCount) {

this.pageCount = pageCount;

}

public List getRecords() {

return records;

}

public void setRecords(List records) {

this.records = records;

}

@Override

public String toString() {

return “PageObject [pageCurrent=” + pageCurrent + “, pageSize=” + pageSize + “, rowCount=” + rowCount

+ “, pageCount=” + pageCount + “, records=” + records + “]”;

}

}

Controller层方法:

@RequestMapping(“/getLog”)

@ResponseBody

public PageObject getLog(@RequestBody Map param) throws ParseException {

System.out.println(“Map集合参数” + param);

String user = (String) param.get(“user”);

String date = (String) param.get(“date”);

Date parse=null;

if(date!=null) {

SimpleDateFormat dFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

parse= dFormat.parse(date); // Date date = (Date) param.get(“date”);

}

System.out.println(“解析后日期格式” + parse);

int pageCurrent = Integer.parseInt(“” + param.get(“pageCurrent”));

int pageSize = Integer.parseInt(“” + param.get(“pageSize”));

if (pageCurrent == 0) {

pageCurrent = 1;

}

if (pageSize == 0) {

pageSize = 10;

}

return logService.getLog(pageCurrent, pageSize, user, parse);

}

Service层代码:

@Autowired

SysLogDao logdao;

/***

* 根据日期或者用户查询

*/

@Override

public PageObject getLog( int pageCurrent, int pageSize,String user,Date date) {

PageObject pageObject = new PageObject();

// 设置当前页

pageObject.setPageCurrent(pageCurrent);

// 设置每页显示的条数

pageObject.setPageSize(pageSize);

// 设置总记录数

Map map=new HashMap();

map.put(“user”, user);

map.put(“date”, date);

int count = logdao.getLogCount(user,date);

System.out.println(“=============”);

System.out.println(“总条数”+count);

pageObject.setPageCount(count);

// 设置总页数

int page = count % pageSize == 0 ? count / pageSize : (count / pageSize) + 1;

pageObject.setRowCount(page);

// 设置每页显示数据集合

// 开始的记录数

int start = (pageCurrent – 1) * pageSize;

System.out.println(start+”-“+pageSize);

List byPage = logdao.getLog( start, pageSize,user,date);

pageObject.setRecords(byPage);

System.out.println(start+”-“+byPage);

return pageObject;

}

Mapper.xml代码如下:

select count(*) from sys_login_log

and login_user=#{user}

and log_date=#{date}

select * from sys_login_log

and login_user=#{user}

and log_date=#{date}

limit #{start},#{pageSize}

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

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

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


相关推荐

  • DirectX修复工具使用技巧之三——命令行与配置文件参数介绍

    DirectX修复工具使用技巧之三——命令行与配置文件参数介绍最后更新:2021-10-8DirectX修复工具自V1.0版起即支持通过settings.ini配置文件的方式设置程序配置信息,自V3.7版起支持命令行配置功能。由于命令行与配置文件均需要通过参数设定程序配置信息,本文档详细列出了命令行与配置文件的参数使用方式,供有需要的高级用户参考。命令行与配置文件中约有90%的命令是通用的,部分特殊命令只支持命令行的配置方式,本文件将分别介绍命令行参数与配置文件参数。命令行参数本程序支持命令行参数提示,用户可通过/?或者/h…

    2022年5月22日
    40
  • 图像生成与图像处理_matlab中colorbar是什么意思

    图像生成与图像处理_matlab中colorbar是什么意思1colorBar介绍colorBar主要是指一些图像处理中使用的常见纯色或者渐变色条。colorBar用途可作为测试样图来验证某些图像算法的效果,从而避免图像内容或者硬件对图像的干扰,使图像算法

    2022年8月2日
    12
  • java uuid 随机数_Java随机数和UUID[通俗易懂]

    java uuid 随机数_Java随机数和UUID[通俗易懂]Java随机数和UUID#Java随机数在Java项目中通常是通过Math.random方法和Random类来获得随机数,前者通过生成一个Random类的实例来实现。此类产生的是一组伪随机数流,通过使用48位的种子,利用线性同余公式产生。在Java中,随机数的产生取决于种子,随机数和种子之间的关系遵从以下两个规则:种子不同,产生不同的随机数。种子相同,即使实例不同也产生相同的随机数。两种方式设…

    2022年7月14日
    19
  • PHP TCPDF导出支持中文的pdf

    PHP TCPDF导出支持中文的pdfPHP使用TCPDF导出支持中文的pdf一、下载https://github.com/tecnickcom/tcpdf下载TCPDF压缩包二、使用方法 require_once(‘./TCPDF/tcpdf.php’); $pdf=new\TCPDF(); $pdf->AddPage(); $html=”<p>helloworld你好世界</p>”; $pdf->WriteHtml(20,$html); //四种模式I输出

    2025年10月3日
    3
  • 源码剖析signal和sigaction的区别[通俗易懂]

    源码剖析signal和sigaction的区别[通俗易懂]这两个函数都是Linux下注册信号处理函数有关,但是它们的区别一般我们都是从书上、网上、man手册得知,要想对它们的区别了然于胸,源码剖析才是彻底的方法。先来看这两个函数的区别和实验:1、signal比sigaction简单,但signal注册的信号在sa_handler被调用之前把会把信号的sa_handler指针恢复,而sigaction注册的信号在处理信号时不会恢复sa_handle

    2022年5月9日
    93
  • Python range 函数 – Python零基础入门教程

    Python range 函数 – Python零基础入门教程目录一.Pythonrange函数简介二.Pythonrange函数使用1.Pythonrange函数常规使用2.Pythonrange函数在for循环中使用三.猜你喜欢

    2022年7月5日
    23

发表回复

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

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