7, paging
Why paging?
- Reduce the amount of data processing
7.1, use limit paging
grammar:
select * from users limit startIndex,pageSize;
select * from users limit 3;
Use Mybatis to achieve paging, core SQL
-
interface
List<User> getUserLimit(Map<String,Integer> map);
-
mapper.xml
<select id="getUserLimit" parameterType="map" resultMap="UserMap"> select * from users limit #{startIndex},#{pageSize} </select>
-
junit unit test
@Test public void getUserLimit(){ SqlSession sqlSession; try { sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); HashMap<String,Integer> map = new HashMap<String,Integer>(); map.put("startIndex",2); map.put("pageSize",2); List<User> users = mapper.getUserLimit(map); for (User user : users) { System.out.println(user); } }finally { MybatisUtils.closeSqlSession(); } }
7.2, RowBounds paging
No longer use SQL to implement paging
-
interface
List<User> getUserByRowBounds();
-
mapper.xml
<select id="getUserByRowBounds" resultMap="UserMap"> select * from users </select>
-
junit unit test
@Test public void getUserByRowBounds(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); RowBounds rowBounds = new RowBounds(1,2); List<User> users = sqlSession.selectList("com.kuber.dao.UserMapper.getUserByRowBounds", null, rowBounds); for (User user : users) { System.out.println(user); } sqlSession.close(); }
7.3, paging plugin
Understand, you can refer to the document to use, if you use it later, you know what it is