easyui 分页 + mybatis 分页插件 PageHelper 完成分页显示功能(SpringMVC + mybatis 框架)

1、使用 easyUI datagrid 完成前台分页展示

  
id 编码 名称 单位 状态 上移 下移 序号

使用 js将 table 转换为datagrid ,并增加分页功能

$(function(){
            var dg = $('#dg').datagrid({
                url: '../hou_tai/getAllChanPin.do',//后台返回数据的请求url
                pagination: true,//是否使用分页功能
                singleSelect:true//每次只能选中1行
               
            });
            
            
            var p = $('#dg').datagrid('getPager'); //获取page对象
    $(p).pagination({ 
          pageSize: 10,//每页显示的记录条数,默认为10 
          pageList: [10,20,30],//可以设置每页记录条数的列表 
          beforePageText: '第',//页数文本框前显示的文字 
          afterPageText: '页    共 {pages} 页',  //pages为默认的参数吗,代表总页数
          displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录'// from,to , total均为默认参数名,from, to 代表现在是总记录中的第几条到第几条,tatal代表总记录数
             }); 
            
          
        });



2、后台返回数据,数据格式必须为json格式,

controller中的代码

@RequestMapping(value = "hou_tai/getAllChanPin.do", produces = "application/json;charset=utf-8")
@ResponseBody
public String getAllChanPin(HttpServletRequest request) {
logger.info("进入获取所有产品操作");

Map map = new HashMap();


String dang_qian_ye_ma = request.getParameter("page");//page 为easyui分页插件默认传到后台的参数,代表当前的页码,起始页为1
String mei_ye_ji_lu_shu = request.getParameter("rows");//rows为为easyui分页插件默认传到后台的参数,代表当前设置的每页显示的记录条数


map.put("dang_qian_ye_ma", dang_qian_ye_ma);
map.put("mei_ye_ji_lu_shu", mei_ye_ji_lu_shu);


List list = chanpinService.getAllChanPin(map);//调用service方法,获取产品记录
         PageInfo pageInfo = new PageInfo(list);
        long total = pageInfo.getTotal(); //获取总记录数
   

Map jsonMap = new HashMap();//定义map  
    
                  jsonMap.put("total", total);//total 存放总记录数
                 jsonMap.put("rows", list);//rows存放每页记录 ,这里的两个参数名是固定的,必须为 total和 rows
  
Gson gson = new Gson();
String json = gson.toJson(jsonMap);


logger.info("获取所有产品操作结束");
return json;
}

Service方法

/** 获取产品操作 */
public List getAllChanPin(Map map) {
try{


PageHelper.startPage(Integer.parseInt(map.get("dang_qian_ye_ma")),Integer.parseInt( map.get("mei_ye_ji_lu_shu")));//这里加上这样一句,则下面的数据库查询自动将查询的结果限制在 页码和记录条数的范围内,是自动和下面的查询匹配的。虽然返回的list具体数据限制了,但是PageHelper还是可以通过这个list对象获取记录的总条数,在controller的方法里就是通过 list对象获取到总的数据长度
List test=chanpinMapper.getAllChanPin(map);

return test;
}catch(DataAccessException e){
e.printStackTrace();
logger.error( "获取所有产品失败:" + e.getMessage());
return null;
}
}


你可能感兴趣的:(easyui 分页 + mybatis 分页插件 PageHelper 完成分页显示功能(SpringMVC + mybatis 框架))