MyBatis学习笔记(八)分页查询

1.逻辑分页

这种方式是将全部数据放到内存中再分页的,与jsp类似


Mapper接口方法:

public List<Student> getAllStudents1(RowBounds rowBounds);
映射:

	<select id="getAllStudents1" resultMap="studentMap">
		select * from mybatis_Student
	</select>
和全查询一样,并没有使用rowBounds参数

测试:

	@Test
	public void testLogicPaging(){
		logger.info("测试逻辑分布");
		StudentMapper mapper = session.getMapper(StudentMapper.class);
		/**
		 * RowBounds参数:offset:数据偏移
		 * limit:每页大小
		 */		
		int pageIndex = 1; //第几页
		int limit = 2;     //每页大小
		List<Student> list = mapper.getAllStudents1(new RowBounds(limit* (pageIndex-1) ,limit));
		for(Student stu : list){
			logger.info(stu.toString());
		}
	}

2,物理分页

查询表里的部分数据.

Mapper接口方法:

public List<Student> getAllStudents2(Map<String,Object> map);
映射:

	<select id="getAllStudents2" resultMap="studentMap">
		select * from mybatis_Student
		<if test="start!=null and limit!=null">
			limit #{start},#{limit}
		</if>
	</select>


测试:

	@Test
	public void testPhysicPaging(){
		logger.info("测试物理分布");
		StudentMapper mapper = session.getMapper(StudentMapper.class);
		/**
		 * RowBounds参数:offset:数据偏移
		 * limit:每页大小
		 */		
		int pageIndex = 2; //第几页
		int limit = 2;     //每页大小
		Map<String,Object> map = new HashMap<String,Object>();
		map.put("start",limit* (pageIndex-1) );
		map.put("limit", limit);
		List<Student> list = mapper.getAllStudents2(map);
		for(Student stu : list){
			logger.info(stu.toString());
		}
	}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值