zoukankan      html  css  js  c++  java
  • 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重写 

  • 相关阅读:
    进程
    Visual Studio Code 使用教程
    C# 多线程中的lock与token模式
    JavaScript中的多态
    简说GC垃圾回收
    C# 简单的SQLHelper
    JavaScript中addEventListener/attachEvent 与内联事件
    JavaScript中事件冒泡与事件捕获
    ASP.Net ScriptManager 与 UpdatePanel
    Nhibernate 使用sql语句查询
  • 原文地址:https://www.cnblogs.com/magic101/p/9379016.html
Copyright © 2011-2022 走看看