|
/**
* 数量统计
* @param sql
* @return
*/
public int getListSize(String sql){
sql = "SELECT COUNT(*) FROM ("+sql+") A";
int count = this.queryForInt(sql);
return count;
}
/**
* oracle 分页
* @param sql
* @param pageNum
* @param pageCount
* @return
* @throws DataAccessException
*/
public List queryForListPage(String sql,int pageNum,int pageCount) throws DataAccessException {
int startNum = (pageNum-1) * pageCount + 1;
int endNum = startNum+pageCount-1;
sql = "SELECT * "+
" FROM (SELECT A.*, ROW_NUMBER() OVER (ORDER BY ID) R FROM (" + sql + ") A " +
" WHERE ROW_NUMBER() OVER (ORDER BY ID) <= "+endNum+") B" +
" WHERE R >= "+startNum;
List list = this.queryForList(sql);
return list;
}
/**
* sql server 分页
* @param sql
* @param pageN
* @param pageC
* @param nameC
* @return
* @throws DataAccessException
*/
public List queryForListPage(String sql, int pageN, int pageC, String nameC) throws DataAccessException {
int sNum = (pageN-1) * pageC + 1;
int eNum = sNum + pageC - 1;
sql = "SELECT A.* FROM (SELECT ROW_NUMBER() OVER (ORDER BY " + nameC + ") AS R, V.* FROM ("
+ sql + ") V) A WHERE A.R BETWEEN " + sNum + " AND " + eNum + " ";
List list = this.queryForList(sql);
return list;
}
/**
* sql server 分页 按时间倒序排序
* @param sql
* @param pageN
* @param pageC
* @param nameC
* @return
* @throws DataAccessException
*/
public List queryForListPageNotice(String sql, int pageN, int pageC, String nameC) throws DataAccessException {
int sNum = (pageN-1) * pageC + 1;
int eNum = sNum + pageC - 1;
sql = "SELECT A.* FROM (SELECT ROW_NUMBER() OVER (ORDER BY " + nameC + ") AS R, V.* FROM ("
+ sql + ") V) A WHERE A.R BETWEEN " + sNum + " AND " + eNum + " ORDER BY CREATE_DATE DESC ";
List list = this.queryForList(sql);
return list;
}
|
|
|