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


相关推荐

  • lvs常用命令

    lvs常用命令lvs命令(具体参数的意思可以参看其他文章)1,查看配置ipvsadm-ln2,清空所有配置ipvsadm-Clistener添加:ipvsadm-A-t192.168.11.60:80-srr修改:ipvsadm-E-t192.168.11.60:80-swrr删除:ipvsadm-D-t192.168.11.60:80realserv…

    2022年7月23日
    24
  • 树莓派连接wifi 设置静态ip

    树莓派连接wifi 设置静态ipsudonano/etc/dhcpcd.conf,在文件结尾添加如下代码:interfacewlan0staticip_address=内网ip地址/24staticrouters=内网网关ip地址staticdomain_name_servers=114.114.114.114#自定义dnssudoreboot…

    2022年5月9日
    90
  • 1521端口已被占用解决方案

    1521端口已被占用解决方案1.先查看端口情况通过netstat-ano,查看1521端口是否被其他程序占用;如果被占用几下进程ID通过tasklist|findstr”进程ID”查找到程序名,KILLIT;2….

    2022年5月18日
    178
  • ES6中set和map「建议收藏」

    ES6中set和map「建议收藏」一。set数据容器能够存储无重复值数据的有序列表1.通过newset()方法创建容器通过add()方法添加2.set.size获取存储的数据的数量例: varset=newSet() set.add(1); set.add(‘1’); console.log(set)console.log(set.size)3.Set内部使用Obj…

    2025年9月27日
    2
  • android自动化测试框架_GMS测试

    android自动化测试框架_GMS测试GMSP的测试已经开始一段时间了,这里记录一下跟O的不同之处,资料主要来自MTK官网。一、Case数量增加(以Pgo项目为例,64bit项目double)a、CTS测试增加8万条,module增至320b、增加CTS-INSTANT测试项目,module48,1.3万条(13338)、64bit13338,以实际为准;c、VTS测试增加约2…

    2025年9月18日
    4
  • MyEclipse10安装SVN插件的几种方法

    MyEclipse10安装SVN插件的几种方法方法一:直接解压下载SVN插件:site-1.6.18.ziphttps://github.com/subclipse/subclipse解压后将features文件和plugins文件拷贝至:D:\MyEclipse\MyEclipse10\dropins(MyEclipse的安装目录)重启MyEclipse即可出现SVN!方法二:在线安装打开HELP->MyEclipseConfi

    2022年7月21日
    11

发表回复

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

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