用ssh做的分页程序 有哪位高手会啊!谢谢!

解决方案 »

  1.   

    以下是我在项目中使用的分页方法,写在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;
    }
    }
      

  2.   

    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
      

  3.   

    一个完全的SSH分页原码(两个字母搞定J2EE通用分页):
    http://howsun.blog.sohu.com/90707791.html
      

  4.   

    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;
    }