java Web分页的方法

10 篇文章 0 订阅
1 篇文章 0 订阅

1、后台方法返回一个包含数组(List)数据的的page对象:
2、(前端可根据page对象判断是否有首尾与上下页,以及根据页码导航)

 public Page queryOjctsByPage(String sql,Object []params,int pageNo,int size)throws  SQLException{//params参数个数,size显示个数,pageNo当前页面
	 Connection conn =null;
	PreparedStatement pstmt=null;
	ResultSet rs=null;
	Page page=null;
	List<User> datas=new ArrayList<User>();
	try{
		int start=(pageNo-1)*size;
		conn=DbUtil.getConn();
		pstmt=conn.prepareStatement(sql+" limit "+start+","+size);//start开始位置
		int index=1;
		if(params!=null){
		  for(Object param:params){    //遍历
			  if(param instanceof String){
				  pstmt.setString(index++, (String)param);
			  }
			  if(param instanceof Integer){
				  pstmt.setInt(index++, (Integer)param);
			  }
			  if(param instanceof Float){
				  pstmt.setFloat(index++, (Float)param);
			  }
		  }
		}
		rs=pstmt.executeQuery();
		while(rs.next()){
			User user=rsToObject(rs);             //rsToObject结果集转user对象
			datas.add(user);
		}
		//统计SQL对应记录数
		int total=count(sql, params);
		page=new Page(total, pageNo, size, datas);   //total总页数,pageNo当前页面,size每页显示数据条数,datas是List数据数组
		rs.close();
		pstmt.close();
		conn.close();
		return page;
	}catch(SQLException e){
		e.printStackTrace();
		throw e;
	}	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Web 实现分页查询通常需要以下步骤: 1. 在数据库中查询总记录数。 2. 根据当前页码和每页显示的记录数计算出需要查询的记录的起始位置。 3. 在数据库中查询需要显示的记录。 4. 将查询结果封装成一个 JavaBean 或者 List 的形式,传递给前端页面。 5. 在前端页面上显示查询结果,并且生成分页导航栏。 以下是一个简单的分页查询实现的代码示例: ``` // 获取当前页码和每页显示的记录数 int currentPage = Integer.parseInt(request.getParameter("currentPage")); int pageSize = Integer.parseInt(request.getParameter("pageSize")); // 在数据库中查询总记录数 int totalCount = dao.getTotalCount(); // 计算需要查询的记录的起始位置 int start = (currentPage - 1) * pageSize; // 在数据库中查询需要显示的记录 List<User> userList = dao.getUserList(start, pageSize); // 将查询结果封装成一个 JavaBean 或者 List 的形式,传递给前端页面 request.setAttribute("userList", userList); // 在前端页面上显示查询结果,并且生成分页导航栏 int totalPage = (totalCount + pageSize - 1) / pageSize; String pageNav = PageUtils.getPageNav(currentPage, totalPage); request.setAttribute("pageNav", pageNav); ``` 其中,`dao` 是数据访问对象,`User` 是一个 JavaBean 类,`PageUtils` 是一个工具类,用来生成分页导航栏。在 `dao` 中,`getTotalCount` 方法用来获取总记录数,`getUserList` 方法用来获取需要显示的记录。在前端页面上,通过 `userList` 和 `pageNav` 来显示查询结果和分页导航栏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值