jeesite4自定义分页

jeesite4为我们提供了比较简介的基础操作数据的功能,但在实际开发过程中会有很多自定义的需求及功能的数据操作,下面是对于简单查询数据分页的功能扩张。这个需要自己写查询的list和count求总条数语句

1.这个是controller里面的调用,需要用一个对象来保存page的参数,让页面请求的参数得以保存一致

 

@SuppressWarnings({"unchecked","rawtypes"})
@RequiresPermissions("x:xx:view")
@RequestMapping(value = "xxxx")
@ResponseBody
public Page xxxx(TRequest tRequest, HttpServletRequest request, HttpServletResponse response) {
   //实例化page对象
   Page page=new  Page(request, response);
   //设置分页数
   //page.setPageSize(5);
   //参数map
   Map map=new HashMap();
   //设置分页参数 
   tRequest.setPage(page);      
   map.put("tRequest", tRequest); 
   page = tRequestApplyService.findPageByParam(map);     
   return page;
}

2.service层可将获取的list保存到原有page中,如果使用原始的分页查询的形式

 

 

例如:Page page = tRequestService.findPage(new Page(request, response), tRequest);
就是通过new page的形式会在自己写的sql中自动带上分页limit和count的求和sql,但是count的求和sql是获取不到自己带的参数的,除了实体对象的参数还是可以获取到,其他的为null,查询不准确。

 

 

 

 

public Page findPageByParam(Map map) {
   //获取page对象
    Page page = (Page)((TRequest) map.get("tRequest")).getPage();
    //查询测量列表
    List list=tRequestApplyDao.findPageByParam(map); 
    page.setList(list);          
    //查询统计总条数
    page.setCount(tRequestDao.byParamCount(map));
    //返回page
   return page;
}
3.dao
 
public List findPageByParam(Map map);
/**
 * 
  * @Description: 
  * @param map
  * @return
  * int 返回类型
 
 */
public int byParamCount(Map map);

4.xml查询和求和语句

 
 
 
 

 

5.end,以上为自己在开发过程中的例子,如果有更好的方法大家可以一起分享。

 

 

 

 

你可能感兴趣的:(jeesite)