Struts+hibernate制作分页的问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 01:48:29
网站需要进行分页显示,按照这个网页的方法进行了尝试:
http://www.blogjava.net/wujun/archive/2006/08/29/65890.html
但是我在具体实践过程中出了新问题,就是:
它的例子里面在util.java的getList方法中是这么写的:
Query q=ss.createQuery("from articleVO");
q.setFirstResult(currow);
q.setMaxResults(pagesize);
vehicleList=q.list();
ss.flush();

我的情况是,我要分页显示的数据不是整个articleVO表,而是从这个articleVO中按照一定条件选择出来的某些记录,我尝试着将Query语句改动,给其中加上where条件,则q.list中就没有记录了。
或者这么说,一旦HQL语句中加入了where条件,那么
q.setFirstResult(XX);
q.setMaxResults(XX);
这些语句就都失效了。
我也想着是不是可以将我的要查询的内容单独提炼出来一张表,就可以这么用了,但是不可能,因为我每次要查询的内容都是动态变化的。
请问这个分页问题该怎么解决?

"
或者这么说,一旦HQL语句中加入了where条件,那么
q.setFirstResult(XX);
q.setMaxResults(XX);
这些语句就都失效了
"
应该不存在这个问题吧~
你试下你输入的条件是否有数据。

假设楼主是根据用户名和密码

from articleVO where username=? and password= ?

q.setString(0,username);

q.setString(1,password);

这样楼主试试看....如果还是不行的话...

楼主可以百度HI我...我来帮你看看...

尽量帮你解决问题..

祝楼主早日成功!

"查询的内容都是动态变化的"是什么意思?
是说查询的where子句里面的条件是不确定的吗?
如果不是,你可以试试再数据库里面创建视图来实现你这个功能。
如果是,你就再query里面设置查询条件,不要写在hql语句里面。

动态的值可以自己去判断 用一个Stringbuffer拼接成一个sql语句(String类型),再把这个sql语句 Query q=ss.createQuery(sql);