基于struts+hibernate请教分页问题

若成风 2012-02-21 08:38:02
各位大大 小弟刚学完struts2和hibernate 想做一个分页
但是没什么思路 哪位大大可以给个简单版的分页代码
不需要太详细的 100分不是很多 略表心意
...全文
140 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
莫欺少年穷 2012-02-22
  • 打赏
  • 举报
回复
哦,想要这些代码还是加Q399811910吧,我发给你
莫欺少年穷 2012-02-22
  • 打赏
  • 举报
回复
我也写过一个封装的分页,就7个java文件。
1、Compare.java,里面枚举比较关系
2、LinkCondition.java,就是连接条件的类
3、Pager.java,分页条件类,就是分页的下标、页显示数据条数、记录条数还有页数
4、Order.java,排序条件,就是按哪个属性排序
5、OrderDirect.java,排序方向,ASC还是DESC
6、Condition.java,里面是放条件的类,参数名、参数值、关系、连接条件、分页条件、排序条件。。。总之你sql语句用到的
7、ResultList.java,就是结果表了,返回对象表。

这都是当初在学校写的,分类有点累赘,不过显而易懂吧,以后再完善
aideyi 2012-02-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wenjie4892543 的回复:]
。。。。。。。。。。。。google
[/Quote]

操作数据库就是这个方法~!其次 页码越界要注意 所以js要写好
zzq58157383 2012-02-22
  • 打赏
  • 举报
回复
通过一个PageAction来实现分页
public class PageAction extends ActionSupport{
private int pageNumber = 1;
private int pageSize = 5;
private int totalPage;
........省略get、set方法
public String execute(){
PageDao pDao = new PageDao();
int employeeCount = pDao.getEmployeeCount();
this.totalPage = employeeCount % pageSize == 0?(employeeCount/pageSize):(employeeCount/pageSize + 1);
if(this.pageNumber <= 0)
this.pageNumber = 1;
if(this.pageNumber > totalPage)
this.pageNumber = totalPage;
return SUCCESS;
}
}


public class ListAction extends ActionSupport {
private int pageNumber;
private int pageSize;
private int totalPage;
private List<People> allPeoples;
........省略get、set方法
public String execute(){
PageDao pDao = new PageDao();
allPeoples = HibernateUtils.getAllPeoples(pageNumber, pageSize);
return SUCCESS;
}
}

在Struts中应该这样配置

<action name="allPeoples" class="org.struts.action.ListAction">
<result name="success">pages/pageData.jsp</result>
</action>
<action name="pageAction" class="org.struts.action.PageAction">
<result type="redirect">allPeoples.action?pageNumber=${pageNumber}&totalPage=${totalPage}&pageSize=${pageSize}</result>
</action>

不知道可不可以帮助你,分页这种东西网上很多,找几个看看就行
Ping_QC 2012-02-22
  • 打赏
  • 举报
回复
主要是用到了setFirstResult()和setMaxResult()

相当与mysql 中的 limit

Ping_QC 2012-02-22
  • 打赏
  • 举报
回复
比如每页显示20条记录, 查找第2页

struts:
 articles = new ArticleDao().findByPage(p);



hibernate:
public List<Article> findByPage(int p){
return session.createQuery("from Article")
.setFirstResult( 20 * (p - 1) )
.setMaxResult(20)
.list();
}
wenjie4892543 2012-02-22
  • 打赏
  • 举报
回复
。。。。。。。。。。。。google
badpp1020 2012-02-22
  • 打赏
  • 举报
回复
hibernate 有自己的分页方法,可用查查资料即可。

问题是如何将用户点击或者选择的页数传给hibernate

67,543

社区成员

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

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