mybatis学习之分页

分页一般分为物理分页:先查询所有值再分页输出,逻辑分页:直接分页查询输出,mybatis支持物理分页,如下:

1、物理分页:

mapper映射:

<select id="findStudents" resultMap="StudentResult">
    select * from t_student order by id asc
</select>

Dao接口:

/**
     * mybatis分页查询-逻辑分页
     * @param rowBounds
     * @return
     */
    public List<Student> findStudents(RowBounds rowBounds);

测试:

/**
     * 逻辑分页----查询所有数据再分页输出
     * @throws Exception
     */
    @Test
    public void testRowBounds() throws Exception{
        logger.info("学生查询-逻辑分页");
        int offset = 3;        //start
        int limit = 3;        //size
        RowBounds rowBounds = new RowBounds(offset,limit);
        List<Student> studentList = studentDao.findStudents(rowBounds);
        for (Student student : studentList) {
            System.out.println(student);
        }
    }

2、逻辑分页:

mapper映射:

<select id="findStudents2" parameterType="Map" resultMap="StudentResult">
    select * from t_student
    <if test="start != null and size != null">
        limit #{start},#{size}
    </if>
</select>

Dao接口:

/**
     * mybatis分页查询-物理分页
     * @param rowBounds
     * @return
     */
    public List<Student> findStudents2(Map<String, Object> map);

测试:

/**
     * 物理分页----查询分页数据再输出
     * @throws Exception
     */
    @Test
    public void testFind() throws Exception{
        logger.info("学生查询-物理分页");
        Map<String, Object> map = new HashMap<>();
        map.put("start", 0);
        map.put("size", 3);
        List<Student> studentList = studentDao.findStudents2(map);
        for (Student student : studentList) {
            System.out.println(student);
        }
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java闲聊

JDK8-Lambda表达式集合操作

public static List<Dish> toLists(){ return Arrays.asList( new...

723
来自专栏奔跑的蛙牛技术博客

并发知识6

javase8 为散列映射提供批操作,即使有其他线程在处理映射,这些操作也能安全的执行。 批操作会遍历映射, 处理遍历过程中找到的元素

622
来自专栏菩提树下的杨过

温故而知新:c#中的特性(attribute)

特性(Attribute)是微软在.Net中自创的一种新技术,对于很多初学者来讲,特性一直是一块难啃的骨头。 既然弄不懂,那我们就暂时绕过它吧,回想一下我们在写...

1739
来自专栏Android机动车

Java 基础(六)——集合源码解析 Queue

Queue继承自 Collection,我们先来看看类结构吧,代码量比较少,我直接贴代码了。

541
来自专栏一名合格java开发的自我修养

MapReduce中一次reduce方法的调用中key的值不断变化分析及源码解析

摘要:mapreduce中执行reduce(KEYIN key, Iterable<VALUEIN> values, Context context),调用一...

773
来自专栏流媒体

STL算法(for_each/transform)

用于逐个遍历容器元素,它对迭代器区间[first,last)所指的每一个元素,执行由单参数函数对象f所定义的操作。方法返回函数对象。

602
来自专栏微信公众号:Java团长

Java反射初探 ——“当类也学会照镜子”

镜子(反射机制)照出(反射)了人的全貌(类的全方位的信息,例如方法,成员变量和构造器等的相关信息)

613
来自专栏闻道于事

Spring框架(二)反射机制, 注入, 单例模式, 自动装载, 延迟加载

 Spring反射机制: 1, 通过spring来获取一个对象的实例 1 <bean id="user" class="com.model.User">...

5518
来自专栏Python

flask-sqlalchemy 一对一,一对多,多对多操作

先进行如下操作: from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy app...

3885
来自专栏牛肉圆粉不加葱

[5] - 类和对象之进阶(一)

与其他支持面向对象的语言一样,Scala 也支持继承,并且子类只能有一个父类,不能继承于多个父类,如果希望实现类似继承多个父类的功能,应该考虑引入 trait。...

753

扫码关注云+社区