我的日常

登录/注册
您现在的位置:论坛 资料库 JAVA开发 > 分页查询的实现
总共48086条微博

动态微博

查看: 1270|回复: 0

分页查询的实现

[复制链接]
eagle    

2

主题

0

听众

78

金钱

二袋弟子

该用户从未签到

跳转到指定楼层
楼主
发表于 2017-07-08 23:19:17 |只看该作者 |倒序浏览
(1)分页查询
在web项目的三层架构中采用第三方查询插件:mybatis-paginator实现分页查询。
第一步:封装分页查询的条件query,里面包含了分页的对象pageNum和pageSize
第二步:查询时构建一个分页的对象,pageBounds,在pageBounds中包含pageNumber和pageSize
第三步:调用dao层的selectForPage()方法,该方法返回一个List并且强制转化为PageList
第四步:构建一个返回结果(map),里面包含rows属性和total属性
A:在controller层中接收前端发来的请求:
@RequestMapping("list")
        @ResponseBody
        public Map<String,Object> selectForPage(Query query){
                Map<String,Object> result=xService.selectForpage(query);
                return result;
        }
B:在service层中构建pageBounds
public Map<String, Object> selectForpage(Query query) {
//调用dao层的方法
                PageList<SaleChance>   resultSelect=xDao.selectForPage(Query,query.buildPageBounds());
//pageinator,得到分页器,通过Paginator        可以得到总页数等值               
                Paginator paginator=resultSelect.getPaginator();
                Map<String,Object> map=new HashMap<>();
                map.put("paginator", paginator);
                map.put("rows", resultSelect);
                map.put("total", paginator.getTotalCount());
                return map;
}
//构建的pageBounds
public PageBounds buildPageBounds(){
                //校验page和pageSize
                if (page==null || page<1) {
                        page=PAG;
                }
                if (rows==null || rows<1) {
                        rows=ROWS;
                }
                PageBounds pageBounds=new PageBounds(page,rows);
                return pageBounds;       
        }
C:在Dao层中编写对应的查询语句


科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、科帮网管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表