//HQL 分页查询0-20
Query query = session.createQuery("from tableName t order by t.name asc");
query.setFirstResult(0);
query.setMaxResults(20);
list result = query.list();
Query query = session.createQuery("from tableName t order by t.name asc");
query.setFirstResult(0);
query.setMaxResults(20);
list result = query.list();
解决方案 »
- ireport画柱形图时,设置y轴的刻度间隔,怎么设置
- spring+hibernate对象影响到mysql的值
- Flex 上传问题!!!!!!急!!!!!
- glassfish中使用hibernate jta事务管理
- 一个奇怪的有关hibernate的问题
- AAAAAAAAA 我就剩90分了 但是我很急 需要提问 大家说怎么才能 弄到10 分啊!!!
- struts2 form动态修改的数据如何传至后台action中
- JBuilder中开发EJB
- 请大家进来喝杯茶,吃个包子,然后咱们讨论一个小问题。
- EJB (实体BEAN)部署时发生错误:请高手帮忙看看.
- commons-digester-rss.jar 谁能给我一份
- 我想问一下,用 WEBLOGIC 好,还是 WEBSPHERE好,还是JBUILDER好?
public class PagedList implements Serializable {
public static final long serialVersionUID=0L;
public static final int DEFAULT_PAGE_SIZE = 10; public static final int DEFAULT_MAX_PAGES = 10;
private List source;
private int pageSize = DEFAULT_PAGE_SIZE; private int page = 0;
private int maxPages = DEFAULT_MAX_PAGES;
private long count;
/**
* @return 返回 count。
*/
public long getCount() {
return count;
}
/**
* @param count 要设置的 count。
*/
public void setCount(long count) {
this.count = count;
}
/**
* @return 返回 maxPages。
*/
public int getMaxPages() {
return maxPages;
}
/**
* @param maxPages 要设置的 maxPages。
*/
public void setMaxPages(int maxLinkedPages) {
this.maxPages = maxLinkedPages;
}
/**
* @return 返回 page。
*/
public int getPage() {
return page;
}
/**
* @param page 要设置的 page。
*/
public void setPage(int page) {
this.page = page;
}
/**
* @return 返回 pageSize。
*/
public int getPageSize() {
return pageSize;
}
/**
* @param pageSize 要设置的 pageSize。
*/
public void setPageSize(int pageSize) {
if(pageSize>0)
this.pageSize = pageSize;
}
/**
* @return 返回 source。
*/
public List getSource() {
return source;
}
/**
* @param source 要设置的 source。
*/
public void setSource(List source) {
this.source = source;
}
}
方式
public PagedList getInPageList(String sql, int page, int size)
throws Exception {
PagedList pagedList = new PagedList(); if (size <= 0) {
size = PagedList.DEFAULT_PAGE_SIZE;
}
pagedList.setPage(page);
pagedList.setPageSize(size);
Integer count = new Integer(0);
StringBuffer buf = new StringBuffer();
int index = sql.indexOf("from");
int last_index = sql.indexOf("order by");
buf.append("select count(*)");
buf.append(sql.substring(index, last_index)); Session s = SessionFactoryUtils.getSession(super.getSessionFactory(),
true);
Query countQuery = s.createQuery(buf.toString());
List temp = countQuery.list();
if (!temp.isEmpty()) {
count = (Integer) (temp.get(0));
if (count.intValue() == 0) {
pagedList.setCount(count.longValue());
pagedList.setMaxPages(0);
pagedList.setSource(new ArrayList());
return pagedList;
}
}
temp = null;
pagedList.setCount(count.longValue());
pagedList.setMaxPages((count.intValue() - 1) / pagedList.getPageSize()
+ 1); Query query = s.createQuery(sql);
query.setFirstResult(page * size).setMaxResults(size);
List list = query.list();
pagedList.setSource(list); SessionFactoryUtils.releaseSession(s, this.getSessionFactory()); return pagedList;
}
query.setFirstResult(0);
query.setMaxResults(20);
list result = query.list();
======================================================
query.setFirstResult(0); 开始记录
query.setMaxResults(20); 返回的记录数必须记下当前页码,建议,存在 Session 里