Implement paging here are two ideas:
1. Using the SQL limit?,?
2. Use RowBounds
A manner (Step :):
In UserMapper 1.dao layer interface to write:
// paging sql realize List <User> getUserLimit (Map < String, Integer> map);
Write userMapper.xml in UserMapper interface layer 2.dao
<select id="getUserLimit" parameterType="Map" resultType="User"> select * from user limit #{indexStart},#{pageSize} </select>
3. The test class project to write:
@Test public void testSqlLimit(){ SqlSessionFactory sqlSessionFactory = MybatisUtils.getSqlSessionFactory(); SqlSession sqlSession = sqlSessionFactory.openSession(); int currentPage=1; int pageSize=2; Map<String, Integer> map = new HashMap<String,Integer>(); map.put("indexStart",(currentPage-1)*pageSize); map.put("pageSize",pageSize); UserMapper mapper = sqlSession.getMapper(UserMapper.class); List<User> userLimit = mapper.getUserLimit(map); System.out.println(userLimit); }
Two way (Step):
In UserMapper 1.dao layer interface to write:
// paged code implements List <User> getUserByRowBounds ();
Write userMapper.xml in UserMapper interface layer 2.dao
<select id="getUserByRowBounds" resultType="User"> select * from user </select>
3. Test categories:
@Test public void testRowBounds(){ SqlSessionFactory sqlSessionFactory = MybatisUtils.getSqlSessionFactory(); SqlSession sqlSession = sqlSessionFactory.openSession(); int currentPage=2; int pageSize=2; RowBounds rowBounds = new RowBounds((currentPage - 1) * pageSize, pageSize); //传进2参数 //不能用getMapper List<Object> user = sqlSession.selectList("com.xbf.dao.UserMapper.getUserByRowBounds", null, rowBounds); System.out.println(user); }