mybatis PageBounds应用分页

第一步:分页工具类
package com.smartmorse.vo;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.github.miemiedev.mybatis.paginator.domain.Order;
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;

public class PageForm {
	
	public static final String CHINESE_PINYIN = "nlssort(? ,'NLS_SORT=SCHINESE_PINYIN_M')";

    private int page = 1;
    private int limit = 20;
    private String sort;

    private Map orderExprs = new HashMap();

    public int getPage() {
        return page;
    }

    public void setPage(int page) {
        this.page = page;
    }

    public int getLimit() {
        return limit;
    }

    public void setLimit(int limit) {
        this.limit = limit;
    }

    public String getSort() {
        return sort;
    }

    public void setSort(String sort) {
        this.sort = sort;
    }

    public void addOrderExpr(String property, String expr){
        this.orderExprs.put(property,expr);
    }

    public PageBounds toPageBounds(){
        List orders = Order.formString(sort);
        for (int i = 0; i < orders.size(); i++) {
            Order order =  orders.get(i);
            if(orderExprs.get(order.getProperty()) != null){
                orders.set(i, new Order(
                        order.getProperty(),
                        order.getDirection(),
                        orderExprs.get(order.getProperty()))
                );
            }
        }
        return new PageBounds(page, limit, orders);
    }
}

第二步 应用后端代码
@Controller
@RequestMapping("/membercheck")
public class MemberCheckController {

    @Autowired
    MemberCheckService memberCheckService;

    @SystemControllerLog(description = "签到(退)列表")
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public String list(HttpServletRequest request, Model model, PageForm pageForm, MemberCheckVo memberCheck){
        String dcode = (String) request .getSession().getAttribute("dcode");
        memberCheck.setDistrictCode(dcode);
        StringBuffer searchstr = new StringBuffer();//传参解决分页异常
        if(StringUtil.isNotNull(memberCheck.getDistrictCode())){
            searchstr.append("&districtCode="+memberCheck.getDistrictCode());
        }

        if(StringUtil.isNotNull(memberCheck.getMemberName())){
            searchstr.append("&memberName="+memberCheck.getMemberName());
        }

        if(StringUtil.isNotNull(memberCheck.getCheckInStartDate())){
            searchstr.append("&checkInStartDate="+memberCheck.getCheckInStartDate());
        }

        if(StringUtil.isNotNull(memberCheck.getCheckInEndDate())){
            searchstr.append("&checkInEndDate="+memberCheck.getCheckInEndDate());
        }
        if(StringUtil.isNotNull(memberCheck.getCheckOutEndDate())){
            searchstr.append("&checkOutEndDate="+memberCheck.getCheckOutEndDate());
        }

        if(StringUtil.isNotNull(memberCheck.getCheckOutStartDate())){
            searchstr.append("&checkOutStartDate="+memberCheck.getCheckOutStartDate());
        }
        if(StringUtil.isNotNull(memberCheck.getStatus())){
            searchstr.append("&status="+memberCheck.getStatus());
        }
        model.addAttribute("searchstr", searchstr);
        model.addAttribute("memberCheck",memberCheck);
        model.addAttribute("list", memberCheckService.selectByPage(memberCheck,pageForm.toPageBounds()));
        return "membercheck/list";
    }
}


第三步 前端应用
<%@page language="java" contentType="text/html; charset=UTF-8"%>
<%@ include file="/common/taglibs.jsp"%>





	
	


	

签到(退)列表

签到时间
签退时间
操作员姓名
状态
会员名称 pos编号 打卡日期 签到时间 签退时间 状态
${item.memberName } ${item.posNo } 未签到 已签到 已签退
    //解决异常
    js文件 function exeData(num, type) { loadpage(); } function loadpage() { var myPageCount = parseInt($("#PageCount").val()); var countindex = parseInt($("#countindex").val()); var pageUrl=$("#pageUrl").val()+"?page="; var pageParameter=$("#pageParameter").val(); var Pagedq=$("#Pagedq").val(); $.jqPaginator('#pagination', { totalPages: parseInt($("#countindex").val()), visiblePages: parseInt($("#visiblePages").val()), currentPage: parseInt($("#Pagedq").val()), first: '
  • 首页
  • ', prev: '', next: '', last: '
  • 末页
  • ', page: '
  • {{page}}
  • ', onPageChange: function (num, type) { if (type == "change") { exeData(num, type); location.href=pageUrl+num+pageParameter; } } }); $("#pagination").append("
  • 共"+myPageCount+"条/共"+countindex+"页
  • "); } $(function () { loadpage(); });

      

    转载于:https://www.cnblogs.com/qinyios/p/11124870.html

    你可能感兴趣的:(mybatis PageBounds应用分页)