|
版本: |
X5.2.6 |
小版本号: |
|
|
|
数据库: |
Oracle |
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
手头只有一段代码,求教大神指点如何应用,或者给出完整的代码或说明,求大神们不吝赐教
public void pageList(String sql, Class cl, List paramList, PageBean pb) {
getDataCount(sql, paramList, pb);
StringBuffer pgSql = new StringBuffer();
pgSql.append("select * from (select pt.*, rownum pagern from (");
pgSql.append(sql);
pgSql.append(") pt where rownum <=");
pgSql.append(pb.getPageSize() * (pb.getCurrentPage()));
pgSql.append(") paget where pagern >=");
pgSql.append(pb.getPageSize() * (pb.getCurrentPage() - 1) + 1);
Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
SQLQuery query = session.createSQLQuery(pgSql.toString());
setParam(paramList, query);
query.setResultTransformer(new EscColumnToBean(cl));
List<Object> list = query.list();
pb.setObjList(list);
}
/**
* ?????
* @param sql
* @param pb
*/
@SuppressWarnings("unchecked")
private void getDataCount(String sql, List paramList, PageBean pb) {
StringBuffer pgSql = new StringBuffer();
pgSql.append("select count(1) as total from (");
pgSql.append(sql);
pgSql.append(") pagebeant");
Session session = getHibernateTemplate().getSessionFactory()
.getCurrentSession();
SQLQuery query = session.createSQLQuery(pgSql.toString());
setParam(paramList, query);
List<Object> list = query.list();
pb.setRowcnt(new Integer(list.get(0).toString()).intValue());
}
|
|