思考:为什么要分页 (减少数据的处理量)
使用limit分页
语法:
select * from user limit 2,2 (startindex,pageSize)
Select *from user limit 3 [0,3]
使用MyBatis实现分页,核心SQL;
泛型<T , V> 为了指定两个或更多个类型参数,只需要使用逗号分隔参数列表即可
编写接口 List getUserLimt(HashMap<String , Integer> map);
步骤;
1:接口
2:Mapper.XML;
3: 测试
1:接口
```java在这里插入代码片
//分页处理
List getUserByLimit(HashMap<String, Integer> map);
### 2:Mapper.xml
```java
<!--分页处理-->
<select id="getUserByLimit" parameterType="map" resultType="User">
select *from mybatis.user limit #{startIndex},#{pageSize}
</select>
3: 测试
@Test
public void getUserByLimit(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("startIndex",0);
map.put("pageSize",2);
List<User> userByLimit = mapper.getUserByLimit(map);
for (User user : userByLimit) {
System.out.println(user);
}
sqlSession.close();
}
RowBounds分页
不再使用sql实现分页
1、接口
//分页处理2
List<User> getUserByRowBounds();
2、Mapper.xml
<!--分页处理2-->
<select id="getUserByRowBounds" resultType="User">
select *from mybatis.user;
</select>
3、测试
//基于Java代码的方式实现分页
@Test
public void getUserByRowBounds(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
//RowBounds实现分页
RowBounds rowBounds = new RowBounds(0,2);
List<User> list = sqlSession.selectList("com.kuang.dao.UserMapper.getUserByRowBounds",null,rowBounds);
for (User user : list) {
System.out.println(user);
}
sqlSession.close();
}