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分页的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis物理分页的代码实现

6.mybatis里面的动态sql是怎么设定的,常用标签有那些以及其

mybatis分页插件,自动生成代码插件

mybatis分页查询怎么做

MyBatis分页插件--有测试代码哦,可以抄袭哦

使用mybatis实现分页查询示例代码分析