hibernate+struts2分页查询

ld191474639 2011-09-25 02:02:57
hibernate+struts2分页查询的问题,永远都是第一页,为什么第一条sql语句对,第二条变样了
首先sql语句第1条select top 3 people0_.ID_ as ID1_0_, people0_.uname as uname0_, people0_.password as password0_, people0_.repassword as repassword0_ from People people0_
第2条select top 6 people0_.ID_ as ID1_2_, people0_.uname as uname2_, people0_.password as password2_, people0_.repassword as repassword2_ from People people0_为什么第2条sql语句是查询6条,而不是3条呢
也就是说为什么我的pageSize增加了一倍,我是要排除(pageNow-1)*pageSize条,查询pageSize条,求解啊
private pageNow=1;
private pageSize=3;(set和get方法默认)
public List find(int pageNow,int pageSize){
Configuration c=new Configuration();
c.configure();
SessionFactory f=c.buildSessionFactory();
Session session=f.getCurrentSession();
@SuppressWarnings("unused")
Transaction r=session.beginTransaction();
Query query= session.createQuery("from People");
query.setFirstResult(pageSize*(pageNow-1));
query.setMaxResults(pageSize);
List list=query.list();
session.close();
return list;
...全文
197 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
my_caterpillar 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ld191474639 的回复:]

问题没有解决,我想可能是这里出问题了,我想问下是吗
[/Quote]
建议你DEBUG观察下传入的maxresult那里数字是多少
ld191474639 2011-09-25
  • 打赏
  • 举报
回复
刚刚一句话点醒我了,每次点下一页都传送账号和密码,就能够解决,我用DeBUG看了下,我那样设置必须要传账号和密码,如果不传账号和密码就要返工了,我不想返工只有等下次重新设计了,下次不直接从登录跳了,加个中间页应该能够解决传账号和密码的问题吧
ld191474639 2011-09-25
  • 打赏
  • 举报
回复
问题没有解决,我想可能是这里出问题了,我想问下是吗
凌风雪雕 2011-09-25
  • 打赏
  • 举报
回复
呵呵 飘过
my_caterpillar 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ld191474639 的回复:]

public String Login()throws Exception {
Update u=new Update();
PageCount=u.Count();
list=u.find(pageNow,pageSize);
if(u.Login(uname, password)){
ActionContext.getContext().getSession().put("una……
[/Quote]啥意思?问题解决了,向我陈述一下过程还是问题依然没解决;不过有一个地方我特奇怪,为什么会有这样的思想:每点击一下下一页都要产能重新在数据库里边查找用户名和密码呢
ld191474639 2011-09-25
  • 打赏
  • 举报
回复
public String Login()throws Exception {
Update u=new Update();
PageCount=u.Count();
list=u.find(pageNow,pageSize);
if(u.Login(uname, password)){
ActionContext.getContext().getSession().put("uname", uname);
return SUCCESS;
}return INPUT;
是这个有问题,我点下一页我的PageNow传过去了,但是账号和密码没有传过去,给我报登录错误,也就是说,我每点下一页都要登录确认下我的账号和密码传过去了吗,用代码来说就是
http://127.0.0.1:6666/SH/Login.action?pageNow=2(这里需要加uname=kk&password=j)才能够显示下一页
my_caterpillar 2011-09-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ld191474639 的回复:]

我是登录进页面的时候执行的是第一条sql语句,我点下一页执行的是第2条sql语句,但是第二条语句不对啊,第一条sql语句是查询3条,第二条是查询6条,我想可能是这个方法错了,但是不知道错在哪,我希望的是第二条语句还是指执行3条
[/Quote]你DEBUG看取到的6条是你数据表里边的六条还是有重复的呢?不能只看SQL语句,去看一下取到的结果是什么,可能有缓存什么的,你DEBUG了吗
ld191474639 2011-09-25
  • 打赏
  • 举报
回复
我是登录进页面的时候执行的是第一条sql语句,我点下一页执行的是第2条sql语句,但是第二条语句不对啊,第一条sql语句是查询3条,第二条是查询6条,我想可能是这个方法错了,但是不知道错在哪,我希望的是第二条语句还是指执行3条
my_caterpillar 2011-09-25
  • 打赏
  • 举报
回复
兄弟啊,两个SQL语句,说明白了,发生什么动作之后出现第一条,发生哪些动作之后出现第二条呢?
都不明白你在说什么?怎么会两条SQL,难道执行一个方法,一次QUERY出现了两条?.......

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧