前言
分页可以通过数据库层面或者Java层面甚至插件都可以实现
一、分页是什么?
分页可以这样理解,我们想让每页显示多少数据就显示多少数据。
二、作用
加快数据检索速率,减少数据的使用量
三、如何实现
通过数据库层面
<select id="getUserByLimit" resultMap="userMap" parameterType="map">
select * from mybatis.user limit #{startIndex},#{pageSize}
</select>
@Test
public void getUserByLimit(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
HashMap<String, Integer> map = new HashMap<>();
map.put("startIndex",0);
map.put("pageSize",4);
List<User> userList = mapper.getUserByLimit(map);
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
通过Java层面
<select id="getUserByLimit2" resultMap="userMap" >
select * from mybatis.user
</select>
通过RowBounds实现
@Test
public void getUserByLimit2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
//通过RowBounds实现
RowBounds rowBounds = new RowBounds(0,4);
//java层面的分页实现
List<User> userList = sqlSession.selectList("com.shan.dao.UserMapper",null, rowBounds);
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
通过插件实现(了解)
可以使用分页插件PageHelper去实现,了解一下即可!
总结
只要get到一个点就够了,分页的实质就是limit!