一、通过sql语句实现分页
这种方式也是我们第一次接触分页时使用的方式,通过limit实现
第一步:编写接口
List<User> getUserByLimit(Map<String,Integer> map);
第二步:编写xxxMapper.xml
<!--分页查询-->
<select id="getUserByLimit" parameterType="map" resultMap="UserRes">
select * from `user` limit #{pageIndex},#{pageSize}
</select>
第三步:编写单元测试
@Test
public void getUserByLimit(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("pageIndex",1);
map.put("pageSize",3);
List<User> users = mapper.getUserByLimit(map);
for(User user:users){
System.out.println(user);
}
sqlSession.close();
}
结果:
二、通过RowBounds类实现分页
我们要知道,RowBounds的底层还是使用的limit进行实现的
第一步:编写接口
List<User> selUsers();
第二步:编写xxxMapper.xml
<!--条件查询-->
<select id="selUsers" resultMap="UserRes">
select * from `user`
</select>
第三步:编写单元测试
@Test
public void pageBounds(){
SqlSession sqlSession = MybatisUtil.getSqlSession();
//RowBounds实现,第一个参数pageIndex,第二个参数pageSize
RowBounds rowBounds = new RowBounds(1,2);
//第一个参数:定位到要是用的方法
//第二个参数:sql语句要是用的参数,因为我们没有,所以直接使用null
//第三个参数:RowBounds对象
List<User> users = sqlSession.selectList("stdpei.dao.UserMapper.selUsers", null, rowBounds);
for(User user:users){
System.out.println(user);
}
sqlSession.close();
}
结果: