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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 笔记汇总目录

    笔记汇总目录SpringCloud微服务SpringCloud入门操作手册(Hoxton)RabbitMQRabbitMQRabbitMQ-Springboot整合LuceneSolrLuceneSolr811DockerDockerDocker案例Kubernetes原创Kubernetes原创k8s部署SpringCloud应用分布式事务分布式事务(一)Mysql本地事务和事务隔离级别分布式事务(二)分布式事务方案分布式事务(三)Seata分布式.

    2022年7月27日
    4
  • 数据仓库ETL开发如何进行测试

    数据仓库ETL开发如何进行测试 数据仓库ETL开发如何进行测试?数据仓库ETL开发如何进行测试?由于数据仓库中数据量比较庞大,还有为了安全因素,一般在开发库和测试库数据不完全或者和生成库(正式库)不一致,导致在测试库和开发库中进行代码测试存在一定的问题。我们知道在软件开发过程中有很多测试的方法,按照测试方法可以分为白盒测试和黑盒测试。白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑

    2022年5月9日
    36
  • kmp的最小循环节

    kmp的最小循环节

    2021年9月27日
    50
  • c#实战教程_ps初学者入门视频

    c#实战教程_ps初学者入门视频C#基础教程-c#实例教程,适合初学者。第一章 C#语言基础本章介绍C#语言的基础知识,希望具有C语言的读者能够基本掌握C#语言,并以此为基础,能够进一步学习用C#语言编写window应用程序和Web应用程序。当然仅靠一章的内容就完全掌握C#语言是不可能的,如需进一步学习C#语言,还需要认真阅读有关C#语言的专著。1.1 C#语言特点Microsoft.NET(以下简称.NET)框…

    2022年9月10日
    2
  • Step by Step WCF—Transactions

    Step by Step WCF—Transactions

    2021年7月26日
    81
  • UNIX的常用命令

    UNIX的常用命令Unix常用命令介绍:  多命令行:“;”多行命令:“\”1、系统关闭reboot、halt/shutdown、poweroff2、passwd命令:修改系统用户密码passwd[username]3、su命令:切换系统用户su[-username]username为空表示root用户4、cat命令:将指定的文件在标准输出到显示器cat [-AbET] [文件名列表]-A      …

    2022年5月31日
    34

发表回复

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

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