如果HQL写在POJO.hbm.xml中的话public List getTableList(int page, int pagesize, String queryname) {
Session session = HibernateSessionFactory.getSession();
Query query = session.getNamedQuery(queryname);
query.setFirstResult((page-1) * pagesize);
query.setMaxResults(pagesize);
List list = query.list();
HibernateSessionFactory.closeSession();
return list;
}如果在代码中写HQL的话
public List findTableList(int page, int pagesize, String hql) {
Session session = HibernateSessionFactory.getSession();
Query query = session.createQuery(hql);
query.setFirstResult((page-1) * pagesize);
query.setMaxResults(pagesize);
List list = query.list();
HibernateSessionFactory.closeSession();
return list;
}
Session session = HibernateSessionFactory.getSession();
Query query = session.getNamedQuery(queryname);
query.setFirstResult((page-1) * pagesize);
query.setMaxResults(pagesize);
List list = query.list();
HibernateSessionFactory.closeSession();
return list;
}如果在代码中写HQL的话
public List findTableList(int page, int pagesize, String hql) {
Session session = HibernateSessionFactory.getSession();
Query query = session.createQuery(hql);
query.setFirstResult((page-1) * pagesize);
query.setMaxResults(pagesize);
List list = query.list();
HibernateSessionFactory.closeSession();
return list;
}
解决方案 »
- 如何用annotation指定字段的容量?
- form传值的问题
- struts1.2.9 资源文件的配置
- java.lang.IllegalStateException
- (求助)Spring AOP注解通知问题
- 还有请帮忙解释下这段代码(关于getHibernateTemplete()的分页)
- 请各位大虾帮忙:是关于eclipse开发ejb的问题
- 如何在Servlet中书写like查询语句
- java下用过水晶报表的帮个帮。
- 在webwork+spring+hibernate框架下,如何把附件保存到数据库!!
- 小弟要崩溃了!!!Servlet下载Excel,中文名总是乱码,哪位大哥大姐能帮我看下
- JFreeChart 日期轴显示的问题,大家帮下忙
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
...
...
<c:set var="listSize" value="${fn:length(adminListForm.adminList)}"></c:set>
<c:set var="url" value="../adminList.do"></c:set>
<%@ include file="../page/pageHead.jsp"%>
...
...
<c:forEach var="admin" items="${adminListForm.adminList}"
begin="${pageBegin}" end="${pageEnd}">
<tr>
<td></td>
</tr>
</c:forEach>
...
...
<%@ include file="../page/pageContent.jsp"%>
3.增加以下两个文件
pageHead.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<html>
<body>
<table width="95%" border="0" cellspacing="0" cellpadding="0"
align="center">
<tr>
<td height="3px"></td>
</tr>
<tr>
<td align="right">
<c:set var="pageSize" value="${param.pageSize}"></c:set>
<c:if test="${pageSize eq null}">
<c:set var="pageSize" value="20"></c:set>
</c:if> <c:set var="pages" value="${listSize / pageSize}"></c:set>
<c:set var="index" value="-1"></c:set>
<c:set var="begin" value="1"></c:set> <c:set var="pageBegin" value="${param.pageBegin}"></c:set>
<c:set var="pageEnd" value="${pageBegin + pageSize - 1}"></c:set>
<c:set var="pageCurrent"
value="${param.pageCurrent == null ? 1 : param.pageCurrent}"></c:set> <c:if test="${(listSize mod pageSize) gt 0}">
<c:set var="pages" value="${pages + 1}"></c:set>
</c:if>
<c:set var="index" value="${fn:indexOf(pages,'.')}"></c:set>
<c:set var="pages" value="${fn:substring(pages,0,index)}"></c:set>
</td>
</tr>
</table>
</body>
</html>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<html>
<script type="text/javascript">
function doChange(para,url){
//alert(para.value)
var targetUrl = url + '?pageBegin='+((para.value-1) * '${pageSize}')+ '&pageCurrent='+para.value + '&pageSize=${pageSize}';
targetUrl = targetUrl.replace('../','/web/');
window.location = targetUrl;
}
function changeCountPerPage(para,url){
//alert(para.value)
var targetUrl = url + '?pageSize=' + para.value + '&pageCurrent=1';
targetUrl = targetUrl.replace('../','/web/');
window.location = targetUrl;
}
</script>
<body>
<table width="95%" border="0" cellspacing="0" cellpadding="0"
align="center">
<tr>
<td height="5px"></td>
</tr>
<tr>
<td align="right">
<c:if test="${(pageBegin - pageSize) ge 0}">
<a
href='<c:url value="${url}">
<c:param name="pageBegin" value="0" />
<c:param name="pageCurrent" value="1" />
<c:param name="pageSize" value="${pageSize}" />
</c:url>'>
<b><bean:message key="pages.first"/></b></a>
</c:if>
<c:if test="${(pageBegin - pageSize) lt 0}">
<bean:message key="pages.first"/>
</c:if>
<c:if test="${(pageBegin - pageSize) ge 0}">
<a
href='<c:url value="${url}">
<c:param name="pageBegin" value="${pageBegin - pageSize}" />
<c:param name="pageCurrent" value="${pageCurrent - 1}" />
<c:param name="pageSize" value="${pageSize}" />
</c:url>'>
<b><bean:message key="pages.prev"/></b></a>
</c:if>
<c:if test="${(pageBegin - pageSize) lt 0}">
<bean:message key="pages.prev"/>
</c:if>
<c:if
test="${(listSize gt pageSize) and (pageEnd lt listSize - 1)}">
<a
href='<c:url value="${url}">
<c:param name="pageBegin" value="${pageBegin + pageSize}" />
<c:param name="pageCurrent" value="${pageCurrent + 1}" />
<c:param name="pageSize" value="${pageSize}" />
</c:url>'>
<b><bean:message key="pages.next" /></b></a>
</c:if>
<c:if
test="${!((listSize gt pageSize) and (pageEnd lt listSize - 1))}">
<bean:message key="pages.next" />
</c:if>
<c:if
test="${(listSize gt pageSize) and (pageEnd lt listSize - 1)}">
<a
href='<c:url value="${url}">
<c:param name="pageBegin" value="${( pages - 1 )* pageSize}" />
<c:param name="pageCurrent" value="${pages}" />
<c:param name="pageSize" value="${pageSize}" />
</c:url>'>
<b><bean:message key="pages.last" /></b></a>
</c:if>
<c:if
test="${!((listSize gt pageSize) and (pageEnd lt listSize - 1))}">
<bean:message key="pages.last" />
</c:if>
<c:out value=" "></c:out>
<select onchange='javascript:doChange(this,"${url}")'>
<c:forEach begin="${begin}" end="${pages}" var="cp">
<c:if test="${pageCurrent eq cp}">
<option value="${cp}" selected="selected">
<c:out value="${cp}"></c:out>
</option>
</c:if>
<c:if test="${!(pageCurrent eq cp)}">
<option value="${cp}">
<c:out value="${cp}"></c:out>
</option>
</c:if>
</c:forEach>
</select>
<c:out value="${'/'}"></c:out>
<c:out value="${pages} "></c:out>
<bean:message key="pages.page" />
<c:out value=" "></c:out>
<select onchange='javascript:changeCountPerPage(this,"${url}")'>
<c:forEach begin="20" end="100" var="pps" step="20">
<c:if test="${pageSize eq pps}">
<option value="${pps}" selected="selected">
<c:out value="${pps}"></c:out>
</option>
</c:if>
<c:if test="${!(pageSize eq pps)}">
<option value="${pps}">
<c:out value="${pps}"></c:out>
</option>
</c:if>
</c:forEach>
</select>
<bean:message key="pages.total" />
<c:out value=" ${listSize} "></c:out>
<bean:message key="pages.item" />
</td>
</tr>
</table>
</body>
</html>