Mybatis-02分页的支持
limit实现分页
#语法
select * from table limit startIndex,pageSize
select * from table limit 5,2; //从第6个数据开始 显示2条数据
select * from table limit 5; //检索前5条数据
实现步骤:
mapper.xml中的文件
<select id="selectUser" parameterType="map" resultType="user">
select * from user limit #{startIndex},#{pageSize}
</select>
mapper接口,参数使用Map
List<User> selectUser(Map<String,Integer> map);
编写测试类:
@Test
public void getUserByLimit(){
SqlSession session = MybatisUtils.getSession();
UserMapper mapper = session.getMapper(UserMapper.class);
HashMap<String, Object> map = new HashMap<>();
map.put("startIndex",0);
map.put("pageSize",2);
List<User> userByLimit = mapper.getUserByLimit(map);
for (User user : userByLimit) {
System.out.println(user);
}
session.close();
}
RowBounds分页
RowBounds分页是实现要在Java代码层面实现
mapper.xml
<select id="getUserByRowBounds" parameterType="map" resultType="user">
select * from mybatis.user
</select>
mapper接口
//查询所有的用户信息
List<User> getUserByRowBounds(Map<String,Object> map);
编写测试类:
@Test
public void getUserByRowBounds(){
SqlSession session = MybatisUtils.getSession();
RowBounds rowBounds = new RowBounds(1, 2);
// 通过Java代码层面实现分类
List<Object> objects = session.selectList("com.yp.dao.UserMapper.getUserByRowBounds",null,rowBounds);
for (Object object : objects) {
System.out.println(object);
}
}
还有一种分页的方式:

浙公网安备 33010602011771号