dto ,存放分页信息
package com.cp3.jm.common.bc;
import java.io.Serializable;
public class JmCommonDto implements Serializable{
private static final long serialVersionUID = -1L;
private String page;
private String pagesize;
private String sortname;
private String sortorder;
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
public String getPagesize() {
return pagesize;
}
public void setPagesize(String pagesize) {
this.pagesize = pagesize;
}
public String getSortname() {
return sortname;
}
public void setSortname(String sortname) {
this.sortname = sortname;
}
public String getSortorder() {
return sortorder;
}
public void setSortorder(String sortorder) {
this.sortorder = sortorder;
}
}
分页方法
/**
* 排序分页方法
* @param sql
* @param dto
* @return
*/
public Map getSortPagedSQL(String sql,JmCommonDto dto ){
if(dto == null){
throw new BusinessException("传入分页对象jmCommonDto不能为空");
}
if(dto.getPagesize() == null || Integer.parseInt(dto.getPagesize()) <0){
throw new BusinessException("每页显示数目为空或小于0");
}
if(dto.getPage() == null || (Integer.parseInt(dto.getPage())) <0){
throw new BusinessException("请求当前页数为空或小于0");
}
int startRow = (Integer.parseInt(dto.getPage())-1)*Integer.parseInt(dto.getPagesize())+1 ;
int endRow = (Integer.parseInt(dto.getPage()))*Integer.parseInt(dto.getPagesize()) ;
StringBuffer sb = new StringBuffer();
sb.append(" select count(1) count from ( ")
.append(sql).append(" ) t");
List listcount = ip.executeSQLQuery(sb.toString());
map.put("Total",((DynaBean)listcount.get(0)).get("count"));
sb = new StringBuffer();
sb.append(" select t.* from ( ").append(" select ");
if(dto.getSortname() != null){
sb.append(" row_number() over(order by ").append( dto.getSortname());
if(dto.getSortorder() != null){
sb.append(" ").append(dto.getSortorder());
}
sb.append(" ) ");
}else{
sb.append(" rownum ");
}
sb.append(" id, t1.* from ( ").append(sql).append(" ) t1").append(" ) t");
sb.append(" where id between ").append(startRow ).append(" and ").append(endRow);
List list = ip.executeSQLQuery(sb.toString());
map.put("Rows", list);
return map;
}