在SpringMVC+Mybatis中一个很方便的分页方法

    xiaoxiao2021-04-18  46

    Scoundrel 2017-04-11 22:26

    准备工作,一个为分页功能准备的实体类

    基本参数,然后传递一个你要查询的对象(类名随意,自己生成get,set方法)

    在你传递对象的dao层的实现类中写好sql语句,这里用的是Mybatis,所以Dao的实现类就是一个xml文件,一般取名xxxDao.xml或者xxxMapper.xml

    一个是查询数据,另外一个是得到数据量

    3.然后在dao接口中加入两个方法,跟上面的对应起来

    4.然后在service接口中加入两个方法

    这里的对象则是刚刚写好的分页的实体类对象

    5.在service实现类中实现接口中的方法

    6.接下来就是控制层了

    7.然后将数据传到前台

    pageTableForm和userList都是自己前面取的名字,注意对应,别写错了

    8.上一步只是传递数据,然后还要加个js,实现页面的分页控制,把下面这段js代码引用到你需要用到分页的页面即可,js代码中有部分可以根据需要修改

    $(function() {

    var $table = $("table");

    var currentPage = 1;

    var pageSize = 3;

    var sumRows = $table.find("tbody tr").length;

    var sumPages = Math.ceil(sumRows/pageSize);

    init();

    paging(currentPage)

    $("#prev").click(function(){

    currentPage--;

    init();

    paging(currentPage);

    })

    $("#next").click(function(){

    currentPage++;

    init();

    paging(currentPage);

    })

    var $page = $("<div class='page'></div>");

    for(var pageIndex=1;pageIndex<=sumPages;pageIndex++){

    $("<a href='#'><span>["+(pageIndex)+"]</span></a>").bind("click",{"newPage":pageIndex},function(event){

    currentPage=event.data["newPage"];

    init();

    paging(currentPage);

    }).appendTo($page);

    }

    $page.insertAfter($table);

    function paging(currentPage){

    $table.find("tbody tr:not(.prevnext)").hide().slice((currentPage-1)*pageSize,(currentPage)*pageSize).show();

    $("#currentPage").val(currentPage+1);

    $("#currentPage").text(currentPage);

    $("#sumPages").text(sumPages);

    }

    function init(){

    if(currentPage==1){

    $("#prev").attr({"disabled":"disabled"});

    }else{

    $("#prev").removeAttr("disabled");

    }

    if(currentPage==sumPages){

    $("#next").attr({"disabled":"disabled"});

    }else{

    $("#next").removeAttr("disabled");

    }

    }

    })

    9.至此,大功告成,以上也基本通用所有框架,在对应类中写好相应代码即可。

    转载请注明原文地址: https://ju.6miu.com/read-674764.html

    最新回复(0)