思路: 1。页面传入pageId和pageSize,也就是当前第几页,一页多少条。 2。用select count(*) 查询出总记录数。 3。如果是oracle,用select * from (select *,rownum as r2 from table1 where r2 < 结束行) where r2 > 开始行。 4。如果是mysql,用select * from table1 limit 开始行,结束行 5。然后把查出来的东西放到request里,返回给jsp页面显示。。不用sql语句是不可能的。用Hibernate也只能调用那2个函数设置开始行和结束行
不好意思,描述不到位,不写sql只的是页面上和Action里面不写sql,可以带参数。谢谢
是指action里面调方法,方法里面写sql么,总要有地方写sql,3L说得不错丫
用hibernate 的分页功能,传进两个参数即可, int start; //前台传的参数 :分页从第几条开始 int limit;//前台传的参数 :每页查询多少条 getSession().createQuery(这里写hql语句).setFirstResult(start).setMaxResults(limit).list();
用hibernate 的分页功能,传进两个参数即可, int start; //前台传的参数 :分页从第几条开始 int limit;//前台传的参数 :每页查询多少条 getSession().createQuery(这里写hql语句).setFirstResult(start).setMaxResults(limit).list();
难道你一次读到内存然后list分页????效率木了!
1。页面传入pageId和pageSize,也就是当前第几页,一页多少条。
2。用select count(*) 查询出总记录数。
3。如果是oracle,用select * from (select *,rownum as r2 from table1 where r2 < 结束行) where r2 > 开始行。
4。如果是mysql,用select * from table1 limit 开始行,结束行
5。然后把查出来的东西放到request里,返回给jsp页面显示。。不用sql语句是不可能的。用Hibernate也只能调用那2个函数设置开始行和结束行
int start; //前台传的参数 :分页从第几条开始
int limit;//前台传的参数 :每页查询多少条
getSession().createQuery(这里写hql语句).setFirstResult(start).setMaxResults(limit).list();
int start; //前台传的参数 :分页从第几条开始
int limit;//前台传的参数 :每页查询多少条
getSession().createQuery(这里写hql语句).setFirstResult(start).setMaxResults(limit).list();