标签:color trap mybatis 插件 intercept github oracle plugin ora
Mybatis在分页的地方完全都是手写分页SQL和count的sql,总之很麻烦。想找一种优雅、简单点的方式。在github上发现一种很好的分页插件PageHelper。
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重写
标签:color trap mybatis 插件 intercept github oracle plugin ora
原文地址:https://www.cnblogs.com/magic101/p/9379016.html