db2分页用java实现_db2分页

[java]代码库/**

* 拼装sql语句,并实现计算分页的相关信息

* @param sql 要查询的sql语句,不含分页,该方法会自动添加分页的信息

* @param CPage 当前需要显示的页码

* @param pageRecord 每一页显示的记录

* @param totalRecord 总记录数目

* @return list 查询出的结果集

* @author chensy

*/

@SuppressWarnings("rawtypes")

public Map queryResultListByPageJDBC(String sql,String CPage,int pageRecord,int totalRecords){

StringBuffer sqlQuery = new StringBuffer();

//1、计算分页的方法

int totalPages;//总页数

int curPage;//当前显示的页码

if(CPage!=null && CPage.length() >0){

curPage = Integer.parseInt(CPage);

if(curPage<1){

curPage = 1;

}

}else{

curPage = 1;

}

if(totalRecords%pageRecord==0){

totalPages = totalRecords/pageRecord;//当每页显示的记录条数能被总记录条数整除时 总页数为总记录条数除以每页显示的记录条数

}else{

totalPages = totalRecords/pageRecord+1;//当每页显示的记录条数不能被总记录条数整除时 总页数为总记录条数除以每页显示的记录条数的商再加1

}

int startPage = (curPage-1)*pageRecord+1;

int endPage = (startPage + pageRecord);

//2、拼接分页查询SQL

sqlQuery.append("select * from (select rownumber() over() as rownumber_,row_.* from (").append(sql).append(")");

sqlQuery.append(" as row_) as temp_");

//继续拼接分页查询SQL,添加分页

sqlQuery.append( " where temp_.rownumber_ between "+startPage+" and "+endPage+"");

//3、查询

Session session = getSession();

Query query = session.createSQLQuery(sqlQuery.toString());

Map rsMap = new HashMap();

rsMap.put("result", query.list());

rsMap.put("totalpages",totalPages);

return rsMap;

}

694748ed64b9390909c0d88230893790.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值