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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值