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

  • 相关阅读:
    Jetson AGX Xavier初始化
    Jetson AGX Xavier更换apt-get源
    Mac远程访问Ubuntu
    Anaconda安装和环境的搭建
    C# NotifyIcon 托盘控件
    VS2010+OpenMP的简单使用
    VS2010+OpenCV3.4.1+zbar 64位
    datatbales 使用笔记
    ubuntu16.04 常用软件
    crontab不能正常执行的五种原因
  • 原文地址:https://www.cnblogs.com/magic101/p/9379016.html
Copyright © 2011-2022 走看看