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);
}
}
上一篇:XF custom render 各平台实现类


下一篇:Vue入坑教程(一)——搭建vue-cli脚手架