我尝试使用postgresql和primefaces'来实现分页。懒惰的数据网格模型。
我在这个主要的懒惰模型覆盖函数中调用我的数据库:
@Override
public List<Query> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,Object> filters) {
queryDb.getQueries(settingsBean.getUserBean().getUser().getId(), pageSize, first);
setRowCount(queryDb.getTotal()); //total is total=rs.getRow(); (here is a problem I'll explain)
setPageSize(pageSize);
//and goes on...
}
在QueryDb.java中,我的搜索字符串如下:
public List<Query> getQueries(Integer user_id, Integer pageSize, Integer first){
String searchStr = "select * from public.saved_queries "
+ "where user_id=? "
+ "order by id desc "
+ "limit ? offset ? ";
//and then
statement.setInt(1, user_id);
statement.setInt(2, pageSize);
statement.setInt(3, first);
我的联系是:
statement=connection.prepareStatement(searchStr, rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_UPDATABLE);
我还希望得到该表的所有行数来设置延迟数据网格的行数。
rs.last();
total=rs.getRow();
但问题是total
等于主要&#39;页面大小。因为我将限制设置为primafaces页面大小。我需要在那里凝胶所有行数。
怎么弄?
setRowCount(queryDb.getTotal()); // this equals my pagesize, I need all row count of that table