java

位置:IT落伍者 >> java >> 浏览文章

Hibernate分页的设计和编码


发布日期:2020年11月05日
 
Hibernate分页的设计和编码

当前页码的表单参数 listuserdo?page=

同时转换成一个 int 类型的页码变量

int currentPage = IntegerparseInt(

requestgetParameter(page// 当前页

下一页 listuserdo?page=${currentPage+}

上一页 listuserdo?page=${currentPage}

一页显示多少数据

int pageSize = ;//每页显示的数据数

总页数 totalPage

) 先从数据库取得总记录数

daoUserDAO#getUserTotalCount()

int totalCount = executeQuery(select count(*) from Users

) 根据一页的数据类计算出总页数

daoUserManager#getTotalPage(int pageSize)

// 得到页面总数

int totalPageCount = ((totalCount + pageSize) ) / pageSize;

if(totalPageCount == ) {

totalPageCount = ;

}

从数据库里把第currentPage页的数据读取出来(Hibernate) DAO 层的代码

daoUserDAO#findPagedAll(int currentPage int pageSize)

两个参数 currentPage 当前页(从开始的)

pageSize 取多少数据

String queryString = from User;

Query queryObject = getSession()createQuery(queryString)

queryObjectsetFirstResult((currentPage ) * pageSize)

queryObjectsetMaxResults(pageSize)

List result = queryObjectlist()

时间

在前台显示上下页的链接并根据总页数的上下限来避免让用户跳到第页或者比最大页数还大的页码哪里

<c:if test=${currentPage > }>

[ 上一页的链接 ]

</c:if>

<c:if test=${currentPage <= }>

[ 上一页的文本 ]

</c:if>

通过 forEach 来显示数据

<c:forEach items=${users} var=user >

${userid}

${userusername}

<c:/forEach>

通过下拉菜单来跳转页面

转到

<script>

// 页面跳转函数

// 参数 包含网址的选择框(SELECT元素)

function jumpPage(select) {

var newUrl = /hibernate_page/indexjsp?page= + selectvalue;

//alert(newUrl)

documentlocation = newUrl;

}

</script>

<! 输出 HTML SELECT 元素 并选中当前页面编码 >

<select onchange=jumpPage(this)>

<option value= selected>页</option>

<option value= >页</option>

</select>

               

上一篇:java 开源数据库项目 Derby的问答

下一篇:Spring MVC framework深入总体分析