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}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • h5页面 请在微信客户端打开链接_请在微信客户端打开链接 html「建议收藏」

    h5页面 请在微信客户端打开链接_请在微信客户端打开链接 html「建议收藏」1前言有时候,需要链接只能在微信上打开,如果不是,则提示请在微信客户端打开链接的字眼的网页,网页代码如下:(这个是网页应用授权时,非微信上打开,就会出现,然后把它单独拿出来了)2代码varua=navigator.userAgent.toLowerCase();varisWeixin=ua.indexOf(‘micromessenger’)!=-1;varisAndroid…

  • 菜鸟的算法入门:java的链表操作

    菜鸟的算法入门:java的链表操作

  • 光纤交换机如何划分zone[通俗易懂]

    光纤交换机如何划分zone[通俗易懂]说明:1.不同厂商的光纤交换机zone的划分类似,所以只要掌握了一种其他则可以触类旁通。2.如果想使用图形界面对光纤交换机划分zone,在pc端必须安装javawebstart,初次访问阵列它会提示下载地址。一.规划在对光纤交换机进行设置前,一定要做好相应的规划,比如那些端口要连接主机,那些端口要连接阵列,考虑到减少“乒乓效应”及平衡负载,当我们划分zone时最好用一对一关系,即一个zone只接一个主机一个阵列,而不是划分一个大的zone阵列主机都插…

  • 老鸟的Python新手教程

    老鸟的Python新手教程

    2021年11月29日
  • Teleport Ultra/Pro 1.72 安装+便携版(备份网站内容工具+离线网页浏览)[通俗易懂]

    Teleport Ultra/Pro 1.72 安装+便携版(备份网站内容工具+离线网页浏览)[通俗易懂]TeleportPro由美国TennysonMaxwell公司开发,曾被PCMagazine评为”编辑选择奖”、ZDNet评为五星。它可以完全或部分下载一个网站上的内容,使用户能够离线浏览;可以在硬盘上创建一个与原网站完全相同的镜象;可以在网站上寻找并下载某一类型的文件;可以探测并记录一个网站的所有网页和文件的清单;可以从一个中心网站探测每一个与之链接的网站。TeleportPro支持HTML4.0、CSS2.0、DHTML和Javaapplet,实现了能够处理所有类型网站上的文件;它可以同..

  • mybatis多条件查询sql_sql模糊查询多个条件

    mybatis多条件查询sql_sql模糊查询多个条件步骤1:先运行,看到效果,再学习步骤2:模仿和排错步骤3:在前一步的基础上进行步骤4:模糊查询步骤5:多条件查询步骤1:先运行,看到效果,再学习老规矩,先下载下载区(点击进入)的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。步骤2:模仿和排错在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。模仿过程难免代码有出入,导致无法得到…

发表回复

您的电子邮箱地址不会被公开。

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