Mybatis分页
Posted 小哥z
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis分页相关的知识,希望对你有一定的参考价值。
Mybatis在分页的地方完全都是手写分页SQL和count的sql,总之很麻烦。想找一种优雅、简单点的方式。在github上发现一种很好的分页插件PageHelper。
1.配置拦截器插件
mybatis-config.xml
<!-- 分页 --> <plugins > <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="oracle"/> </plugin> </plugins>
在代码中引用
@Override public PagePojo listDataPage(String strname,Integer pageNo, Integer pageSize) { PageHelper.offsetPage(pageNo, pageSize); List<Map<String, Object>>mapList= resourcesDao.listDataPage(strname); return PageUtil.Map2PageInfo(mapList); }
对结果的处理封装了一个方法
public static PagePojo Map2PageInfo(List<Map<String,Object>>map){ //封装bootstrap PagePojo page=new PagePojo(); //将数据放入pageInfo,pageInfo会对数据进行处理,这个是封装好的类,直接调用即可 PageInfo<Map<String,Object>>pageInfo=new PageInfo<Map<String,Object>>(map); page.setPage(pageInfo.getPageNum()); page.setTotal(pageInfo.getTotal()); page.setRows(map); return page; }
思考:1、基于拦截器的分页,对方法进行拦截,对sql重写
以上是关于Mybatis分页的主要内容,如果未能解决你的问题,请参考以下文章