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重写 

原文地址:https://www.cnblogs.com/magic101/p/9379016.html