分页
-
分页
- 1. 使用limit分页
-
2. 使用Mybatis实现分页
- 1. 使用limit实现
- 2. 使用RowBounds实现分页(了解)
- 3. 分页插件(了解)
为什么要分页:
1. 使用limit分页
select * from user limit 0,2;
select * from user limit 2,2;
limit n,m ==> n为页起始的位置(从0开始),m为每页的个数
2. 使用Mybatis实现分页
核心 SQL
1. 使用limit实现
接口
//分页
List<User> getUserByLimit(Map<String,Integer> map);
UserMapper.xml
<!--分页-->
<select id="getUserByLimit" parameterType="map" resultMap="UserMap">
select * from mybatis.user limit #{startIndex},#{pageSize};
</select>
测试
@Test
public void testGetUserByLimit() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String,Integer> 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);
}
sqlSession.close();
}
2. 使用RowBounds实现分页(了解)
不再使用SQL实现分页
接口
//分页(RowBounds)
List<User> getUserByRowBounds(Map<String,Integer> map);
UserMapper.xml
<!--RowBounds分页-->
<select id="getUserByRowBounds" resultMap="UserMap">
select * from mybatis.user
</select>
测试
@Test
public void testGetUserByRowBounds() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
//RowBounds实现
RowBounds rowBounds = new RowBounds(0,2);
//通过Java代码层面实现分页
List<User> userList = sqlSession.selectList("com.wang.dao.UserMapper.getUserByRowBounds",null,rowBounds);
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
3. 分页插件(了解)
https://pagehelper.github.io/ (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|