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<TRequest> page = tRequestService.findPage(new Page<TRequest>(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查询和求和语句

 
<select id="findPageByParam" resultType="java.util.HashMap"  parameterType="java.util.HashMap">
   SELECT 
   *
   FROM
    t_request a 
   <if test="tRequest.page !=null  and tRequest.page.pageNo!=null  and  tRequest.page.pageSize!=null">
   limit ${tRequest.page.pageNo==null?0:(tRequest.page.pageNo-1)*tRequest.page.pageSize},${tRequest.page.pageSize}
   </if>
</select> 
 
<select id="byParamCount" resultType="java.lang.Integer"  parameterType="java.util.HashMap">
   SELECT count(1)
   FROM
    t_request a   
</select> 

 

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

 

 

 

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值