首页 > 其他分享 >【学习笔记】分页

【学习笔记】分页

时间:2023-01-03 16:22:56浏览次数:52  
标签:map 分页 笔记 学习 sqlSession limit rowBounds RowBounds

分页

1.通过limit实现分页

操作sql进行分页

select * from user limit 0,2;    #从第0个开始,每页展示两个

在mybatis中

通过传入参数对limit的两个值进行更改

  • mapper接口

    //分页查找城市
    List<City> cityLimit(Map<String,Object> map);
  • xml配置文件

    <select id="cityLimit" parameterType="map" resultMap="city">
        select * from jdbcstudy.city limit #{startIndex},#{pageSize};
    </select>
  • 测试类

    public void cityTest01(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        CityMapper mapper = sqlSession.getMapper(CityMapper.class);
        Map<String,Object> map = new HashMap<>();
        map.put("startIndex",0);
        map.put("pageSize",3);
        List<City> cities = mapper.cityLimit(map);
    ​
        for (City city : cities) {
            System.out.println(city);
        }
    ​
        sqlSession.close();
    }

 

本质是通过map将参数传递给sql

 

2.RowBounds分页

通过sql分页,不能体现面向对象的特点,所以有些开发人员写了RowBounds这个类,来实现分页

实际还是limit分页

具体实现:

  • 接口

    //RowBounds实现分页
    List<City> cityRowBounds();
  • xml配置文件

    <select id="cityRowBounds" resultType="city">
        select * from jdbcstudy.city;
    </select>
  • 测试类

    public void cityTest02(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        RowBounds rowBounds = new RowBounds(0, 3);
        List<Object> objects = sqlSession.selectList("com.wang.Dao.CityMapper.cityRowBounds", null, rowBounds);
    ​
        for (Object object : objects) {
            System.out.println(object);
        }
    ​
        sqlSession.close();
    }

    在测试类中,new 一个rowBounds类,参数就是(从第几个开始)和(每页有几个)

    然后通过sqlSession调用selectList方法,参数为:Mapper接口的方法、Object、rowBounds

 

3.PageHelper 分页插件

MyBatis 分页插件 PageHelper

标签:map,分页,笔记,学习,sqlSession,limit,rowBounds,RowBounds
From: https://www.cnblogs.com/wztblogs/p/17022570.html

相关文章

  • 我发现了一个高效学习的新方法!
    在体验了公司新出的几个 约炮 交友产品后,我又开始学习了!学了一种非常新颖的读书方式,分享给大家。一种新的读书方式RIA如下图,是取自彭小六花了3年时间建立的一张阅读地......
  • 文件IO操作开发笔记(一):使用Qt的QFile对磁盘文件存储进行性能测试以及测试工具
    前言  在做到个别项目对日志要求较高,要求并行写入的数据较多,尽管写入数据的线程放在子线程,仍然会造成界面程序的假死(实际上Qt还是在跑,只是磁盘消耗超过瓶颈,造成假死(注意:......
  • 【学习笔记】日志
    日志当数据库操作出现错误时,我们需要排错,这时日志就是最好的助手!我们可以将sql在控制台通过日志的方式打印出来,就有可能找到错误。Mybatis通过使用内置的日志工厂提供......
  • vue 基础学习笔记【一】
    vue.js简介概念:构建用户界面的渐进式框架。(渐进式:不必一开始就用Vue所有的全家桶,根据场景,官方提供了方便的框架供你使用。)Vue的核心库只关注视图层。【引入vue】可以​​创......
  • 性能测试技术笔记(一):如何快速上手压测工作
    新年第一个工作日,继续整理之前的技术笔记。前面通过三篇的内容,将自动化测试相关的技术笔记做了整理汇总。这篇内容,主要是我刚开始做性能测试时的一些记录,对新手或者刚进......
  • 分享我的k8s学习过程
    我假期里听说要加班就没出去玩,在家看​​k8s​​,基本上过了一遍,有同学好奇我的学习资料和学习过程,今天就分享给大家,多少有一些借鉴意义。我很早之前买了阳明的视频课来学......
  • react Router 学习
     功能:1.进入项目后的默认路径是home,默认展示首页模块2.点击路由,切换子组件3.点击文章路由,根据传值不同进入三级详情路由,同时二级路由不显示4.点击返回首页,跳转到首页 安装......
  • vue vuex 学习小demo
    创建store.js 引入并使用vueximport Vuex from 'vuex'Vue.use(Vuex)1.使用new Vuex.Store创建({})创建store2.创建state:{}存放数据3.mutations:{}存放方法4.actions:{}......
  • react 日常工作小笔记
    默认配置defaultProps默认配置通过 ​​||​​​ 操作符可以实现,React.js也提供了一种方式 ​​defaultProps​​,可以方便的做到默认配置。classLikeButtonextendsC......
  • js String对象学习
    //charAt()方法从一个字符串中返回指定的字符。letstr='WinterWang'console.log(str.charAt(1))//i//includes()方法用于判断一个字符串是否包含在另一......