用ssh做的分页程序 有哪位高手会啊!谢谢! 用ssh做的分页程序 有哪位高手会啊!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以下是我在项目中使用的分页方法,写在Hibernate的Dao里面,楼主可以参考一下: public Map findAll(PaymentSearchBean searchBean) throws ParseException { log.debug("getting all Payment"); Map map = new HashMap(); String searchKey = searchBean.getSearchKey(); Object searchValue = searchBean.getSearchValue(); String beginOrderDate = searchBean.getBeginOrderDate(); String endOrderDate = searchBean.getEndOrderDate(); String paymentStatus = searchBean.getPaymentStatus(); String beginPaidDate = searchBean.getBeginPaidDate(); String endPaidDate = searchBean.getEndPaidDate(); String deliveredStatus = searchBean.getDeliveredStatus(); String deliveredWay = searchBean.getDeliveredWay(); String fullStatus = searchBean.getFullStatus(); String refundStatus = searchBean.getRefundStatus(); String refundProcess = searchBean.getRefundProcess(); Integer isPaid = null; if(paymentStatus!=null && !paymentStatus.equals("")){ isPaid = Integer.parseInt(paymentStatus); } Integer isdelivered = null; if(deliveredStatus!=null && !deliveredStatus.equals("")){ isdelivered = Integer.parseInt(deliveredStatus); } Integer delivered = null; if(deliveredWay!=null && !deliveredWay.equals("")){ delivered = Integer.parseInt(deliveredWay); } Integer isinfofull = null; if(fullStatus!=null && !fullStatus.equals("")){ isinfofull = Integer.parseInt(fullStatus); } Integer isaskrefund = null; if(refundStatus!=null && !refundStatus.equals("")){ isaskrefund = Integer.parseInt(refundStatus); } Integer processRefund = null; if(refundProcess!=null && !refundProcess.equals("")){ processRefund = Integer.parseInt(refundProcess); } boolean isUseCouponCode = searchBean.getUseCouponCode(); int pageSize = searchBean.getPageSize(); int currPage = searchBean.getCurrPage(); int firstNum = pageSize*(currPage-1); try { Criteria criteria = getSession().createCriteria("com.sunfairs.bean.PaymentId"); Criteria criteria1 = getSession().createCriteria("com.sunfairs.bean.PaymentId"); if((searchKey!=null && !searchKey.equals("")) && (searchValue!=null && !searchValue.equals(""))){ criteria.add(Restrictions.like(searchKey, "%"+searchValue+"%")); criteria1.add(Restrictions.like(searchKey, "%"+searchValue+"%")); } if(beginOrderDate!=null && !beginOrderDate.equals("")){ criteria.add(Restrictions.ge("orderDate", format.parse(beginOrderDate+":00"))); criteria1.add(Restrictions.ge("orderDate", format.parse(beginOrderDate+":00"))); } if(endOrderDate!=null && !endOrderDate.equals("")){ criteria.add(Restrictions.le("orderDate", format.parse(endOrderDate+":00"))); criteria1.add(Restrictions.le("orderDate", format.parse(endOrderDate+":00"))); } if(isPaid!=null){ criteria.add(Restrictions.eq("ispaid",isPaid)); criteria1.add(Restrictions.eq("ispaid",isPaid)); } else{ criteria.add(Restrictions.not(Restrictions.eq("ispaid", 0))); criteria1.add(Restrictions.not(Restrictions.eq("ispaid", 0))); } if(beginPaidDate!=null && !beginPaidDate.equals("")){ criteria.add(Restrictions.ge("paymentDate", format.parse(beginPaidDate+":00"))); criteria1.add(Restrictions.ge("paymentDate", format.parse(beginPaidDate+":00"))); } if(endPaidDate!=null && !endPaidDate.equals("")){ criteria.add(Restrictions.le("paymentDate", format.parse(endPaidDate+":00"))); criteria1.add(Restrictions.le("paymentDate", format.parse(endPaidDate+":00"))); } if(isdelivered!=null){ criteria.add(Restrictions.eq("isdelivered",isdelivered)); criteria1.add(Restrictions.eq("isdelivered",isdelivered)); } if(delivered!=null){ criteria.add(Restrictions.eq("delivered",delivered)); criteria1.add(Restrictions.eq("delivered",delivered)); } if(isinfofull!=null){ criteria.add(Restrictions.eq("isinfofull",isinfofull)); criteria1.add(Restrictions.eq("isinfofull",isinfofull)); } if(isaskrefund!=null){ criteria.add(Restrictions.eq("isaskrefund",isaskrefund)); criteria1.add(Restrictions.eq("isaskrefund",isaskrefund)); } if(processRefund!=null){ criteria.add(Restrictions.eq("processRefund",processRefund)); criteria1.add(Restrictions.eq("processRefund",processRefund)); } if(isUseCouponCode){ criteria.add(Restrictions.like("memo", "%Coupon Code:%")); criteria1.add(Restrictions.like("memo", "%Coupon Code:%")); } int size = (Integer)criteria.setProjection(Projections.count("id")).uniqueResult(); map.put("size", size); criteria1.setFirstResult(firstNum); criteria1.setMaxResults(pageSize); criteria1.addOrder(Order.desc("paymentDate")); criteria1.addOrder(Order.desc("orderDate")); List list = criteria1.list(); map.put("list", list); return map; } catch (HibernateException e) { log.error("get failed", e); throw e; } }PaymentSearchBean用来保存分页参数,代码如下: public class PaymentSearchBean implements Serializable { private String searchKey; private String searchValue; private String beginOrderDate; private String endOrderDate; private String paymentStatus; private String beginPaidDate; private String endPaidDate; private String deliveredStatus; private String deliveredWay; private String fullStatus; private String refundStatus; private String refundProcess; private boolean useCouponCode; private int pageSize; private int currPage; private final DateFormat format = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM); public String getBeginOrderDate() { return beginOrderDate; } public void setBeginOrderDate(String beginOrderDate) { this.beginOrderDate = beginOrderDate; } public String getBeginPaidDate() { return beginPaidDate; } public void setBeginPaidDate(String beginPaidDate) { this.beginPaidDate = beginPaidDate; } public void setEndOrderDate(String endOrderDate) { this.endOrderDate = endOrderDate; } public void setEndPaidDate(String endPaidDate) { this.endPaidDate = endPaidDate; } public int getCurrPage() { return currPage; } public void setCurrPage(int currPage) { this.currPage = currPage; } public String getDeliveredStatus() { return deliveredStatus; } public void setDeliveredStatus(String deliveredStatus) { this.deliveredStatus = deliveredStatus; } public String getDeliveredWay() { return deliveredWay; } public void setDeliveredWay(String deliveredWay) { this.deliveredWay = deliveredWay; } public String getFullStatus() { return fullStatus; } public void setFullStatus(String fullStatus) { this.fullStatus = fullStatus; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public String getRefundProcess() { return refundProcess; } public void setRefundProcess(String refundProcess) { this.refundProcess = refundProcess; } public String getRefundStatus() { return refundStatus; } public void setRefundStatus(String refundStatus) { this.refundStatus = refundStatus; } public String getSearchKey() { return searchKey; } public void setSearchKey(String searchKey) { this.searchKey = searchKey; } public String getSearchValue() { return searchValue; } public void setSearchValue(String searchValue) { this.searchValue = searchValue; } public String getEndOrderDate() { return endOrderDate; } public String getEndPaidDate() { return endPaidDate; } public String getPaymentStatus() { return paymentStatus; } public void setPaymentStatus(String paymentStatus) { this.paymentStatus = paymentStatus; } public boolean getUseCouponCode() { return useCouponCode; } public void setUseCouponCode(boolean useCouponCode) { this.useCouponCode = useCouponCode; }} SSH分页程序http://lituan.javaeye.com/blog/284503http://www.360doc.com/content/090411/14/128163_3094722.htmlhttp://blog.csdn.net/tpf01/archive/2008/09/22/2958151.aspx 一个完全的SSH分页原码(两个字母搞定J2EE通用分页):http://howsun.blog.sohu.com/90707791.html public List sel(int pageSize, int page, String hql) { int min = pageSize * (page - 1); Query query = this.getSession().createQuery(hql); query.setFirstResult(min); query.setMaxResults(pageSize); List list = query.list(); return list; } java.util.Date转 json问题 不显示删除回复显示所有回复显示星级回复显示得分回复 利用js实现搜索功能,请指教~~~!![ string转double时出现的问题! ExtJs向后台action传值丢失 利用session如何在客户端禁止一个用户多次登陆! jsp 中*.java文件方在tomact 中那个地方,jsp才能调用他。 请教servlet问题! 页面输出控制 急!!! JSP是否不支持框架结构呀 for循环里要想步长为2,应该怎么写? Hibernate和spring集成出错 99爱车网
log.debug("getting all Payment");
Map map = new HashMap();
String searchKey = searchBean.getSearchKey();
Object searchValue = searchBean.getSearchValue();
String beginOrderDate = searchBean.getBeginOrderDate();
String endOrderDate = searchBean.getEndOrderDate();
String paymentStatus = searchBean.getPaymentStatus();
String beginPaidDate = searchBean.getBeginPaidDate();
String endPaidDate = searchBean.getEndPaidDate();
String deliveredStatus = searchBean.getDeliveredStatus();
String deliveredWay = searchBean.getDeliveredWay();
String fullStatus = searchBean.getFullStatus();
String refundStatus = searchBean.getRefundStatus();
String refundProcess = searchBean.getRefundProcess();
Integer isPaid = null;
if(paymentStatus!=null && !paymentStatus.equals("")){
isPaid = Integer.parseInt(paymentStatus);
}
Integer isdelivered = null;
if(deliveredStatus!=null && !deliveredStatus.equals("")){
isdelivered = Integer.parseInt(deliveredStatus);
}
Integer delivered = null;
if(deliveredWay!=null && !deliveredWay.equals("")){
delivered = Integer.parseInt(deliveredWay);
}
Integer isinfofull = null;
if(fullStatus!=null && !fullStatus.equals("")){
isinfofull = Integer.parseInt(fullStatus);
}
Integer isaskrefund = null;
if(refundStatus!=null && !refundStatus.equals("")){
isaskrefund = Integer.parseInt(refundStatus);
}
Integer processRefund = null;
if(refundProcess!=null && !refundProcess.equals("")){
processRefund = Integer.parseInt(refundProcess);
}
boolean isUseCouponCode = searchBean.getUseCouponCode();
int pageSize = searchBean.getPageSize();
int currPage = searchBean.getCurrPage();
int firstNum = pageSize*(currPage-1);
try {
Criteria criteria = getSession().createCriteria("com.sunfairs.bean.PaymentId");
Criteria criteria1 = getSession().createCriteria("com.sunfairs.bean.PaymentId");
if((searchKey!=null && !searchKey.equals("")) && (searchValue!=null && !searchValue.equals(""))){
criteria.add(Restrictions.like(searchKey, "%"+searchValue+"%"));
criteria1.add(Restrictions.like(searchKey, "%"+searchValue+"%"));
}
if(beginOrderDate!=null && !beginOrderDate.equals("")){
criteria.add(Restrictions.ge("orderDate", format.parse(beginOrderDate+":00")));
criteria1.add(Restrictions.ge("orderDate", format.parse(beginOrderDate+":00")));
}
if(endOrderDate!=null && !endOrderDate.equals("")){
criteria.add(Restrictions.le("orderDate", format.parse(endOrderDate+":00")));
criteria1.add(Restrictions.le("orderDate", format.parse(endOrderDate+":00")));
}
if(isPaid!=null){
criteria.add(Restrictions.eq("ispaid",isPaid));
criteria1.add(Restrictions.eq("ispaid",isPaid));
}
else{
criteria.add(Restrictions.not(Restrictions.eq("ispaid", 0)));
criteria1.add(Restrictions.not(Restrictions.eq("ispaid", 0)));
}
if(beginPaidDate!=null && !beginPaidDate.equals("")){
criteria.add(Restrictions.ge("paymentDate", format.parse(beginPaidDate+":00")));
criteria1.add(Restrictions.ge("paymentDate", format.parse(beginPaidDate+":00")));
}
if(endPaidDate!=null && !endPaidDate.equals("")){
criteria.add(Restrictions.le("paymentDate", format.parse(endPaidDate+":00")));
criteria1.add(Restrictions.le("paymentDate", format.parse(endPaidDate+":00")));
}
if(isdelivered!=null){
criteria.add(Restrictions.eq("isdelivered",isdelivered));
criteria1.add(Restrictions.eq("isdelivered",isdelivered));
}
if(delivered!=null){
criteria.add(Restrictions.eq("delivered",delivered));
criteria1.add(Restrictions.eq("delivered",delivered));
}
if(isinfofull!=null){
criteria.add(Restrictions.eq("isinfofull",isinfofull));
criteria1.add(Restrictions.eq("isinfofull",isinfofull));
}
if(isaskrefund!=null){
criteria.add(Restrictions.eq("isaskrefund",isaskrefund));
criteria1.add(Restrictions.eq("isaskrefund",isaskrefund));
}
if(processRefund!=null){
criteria.add(Restrictions.eq("processRefund",processRefund));
criteria1.add(Restrictions.eq("processRefund",processRefund));
}
if(isUseCouponCode){
criteria.add(Restrictions.like("memo", "%Coupon Code:%"));
criteria1.add(Restrictions.like("memo", "%Coupon Code:%"));
}
int size = (Integer)criteria.setProjection(Projections.count("id")).uniqueResult();
map.put("size", size);
criteria1.setFirstResult(firstNum);
criteria1.setMaxResults(pageSize);
criteria1.addOrder(Order.desc("paymentDate"));
criteria1.addOrder(Order.desc("orderDate"));
List list = criteria1.list();
map.put("list", list);
return map;
} catch (HibernateException e) {
log.error("get failed", e);
throw e;
}
}PaymentSearchBean用来保存分页参数,代码如下: public class PaymentSearchBean implements Serializable {
private String searchKey;
private String searchValue;
private String beginOrderDate;
private String endOrderDate;
private String paymentStatus;
private String beginPaidDate;
private String endPaidDate;
private String deliveredStatus;
private String deliveredWay;
private String fullStatus;
private String refundStatus;
private String refundProcess;
private boolean useCouponCode;
private int pageSize;
private int currPage;
private final DateFormat format = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
public String getBeginOrderDate() {
return beginOrderDate;
}
public void setBeginOrderDate(String beginOrderDate) {
this.beginOrderDate = beginOrderDate;
}
public String getBeginPaidDate() {
return beginPaidDate;
}
public void setBeginPaidDate(String beginPaidDate) {
this.beginPaidDate = beginPaidDate;
}
public void setEndOrderDate(String endOrderDate) {
this.endOrderDate = endOrderDate;
}
public void setEndPaidDate(String endPaidDate) {
this.endPaidDate = endPaidDate;
}
public int getCurrPage() {
return currPage;
}
public void setCurrPage(int currPage) {
this.currPage = currPage;
}
public String getDeliveredStatus() {
return deliveredStatus;
}
public void setDeliveredStatus(String deliveredStatus) {
this.deliveredStatus = deliveredStatus;
}
public String getDeliveredWay() {
return deliveredWay;
}
public void setDeliveredWay(String deliveredWay) {
this.deliveredWay = deliveredWay;
}
public String getFullStatus() {
return fullStatus;
}
public void setFullStatus(String fullStatus) {
this.fullStatus = fullStatus;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public String getRefundProcess() {
return refundProcess;
}
public void setRefundProcess(String refundProcess) {
this.refundProcess = refundProcess;
}
public String getRefundStatus() {
return refundStatus;
}
public void setRefundStatus(String refundStatus) {
this.refundStatus = refundStatus;
}
public String getSearchKey() {
return searchKey;
}
public void setSearchKey(String searchKey) {
this.searchKey = searchKey;
}
public String getSearchValue() {
return searchValue;
}
public void setSearchValue(String searchValue) {
this.searchValue = searchValue;
}
public String getEndOrderDate() {
return endOrderDate;
}
public String getEndPaidDate() {
return endPaidDate;
}
public String getPaymentStatus() {
return paymentStatus;
}
public void setPaymentStatus(String paymentStatus) {
this.paymentStatus = paymentStatus;
}
public boolean getUseCouponCode() {
return useCouponCode;
}
public void setUseCouponCode(boolean useCouponCode) {
this.useCouponCode = useCouponCode;
}
}
http://lituan.javaeye.com/blog/284503http://www.360doc.com/content/090411/14/128163_3094722.htmlhttp://blog.csdn.net/tpf01/archive/2008/09/22/2958151.aspx
http://howsun.blog.sohu.com/90707791.html
int min = pageSize * (page - 1);
Query query = this.getSession().createQuery(hql);
query.setFirstResult(min);
query.setMaxResults(pageSize);
List list = query.list();
return list;
}