分页
数据库中取出数据在前端界面展示,如果都取出到前端,那么就会非常占据资源,这是我们就需要进行分页前端需要哪些数据我们就取哪些数据,这样就会变得非常快。
第一种方法:limit方法,取数据时使用sql语句中的limit进行数据的限制取出。这时一般需要传入两个参数,一个是开始的索引,一个是步长。(前端传回来的参数一般为当前页码和一页多少数据,因此开始的索引就需要在controller层进行处理,索引=(当前页码-1)*一页数据。)
//dao层接口 public interface UserMapper { List<User> getUserByLimit(Map<String,Object> map); }
//Mapper.xml中实现接口的sql语句 <select id="getUserByLimit" parameterType="map" resultMap="UserMap"> select * from mybatis.user limit #{startIndex},#{pageIndex} </select>
//测试类中的测试方法 @Test public void testLimit(){ SqlSession sqlSession = MybatisUtil.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); HashMap<String, Object> map = new HashMap<>(); map.put("startIndex",0); map.put("pageIndex",1); for (User user : mapper.getUserByLimit(map)) { System.out.println(user); } sqlSession.close(); }
第二种方法:RowBounds分页,这是一种假分页不推荐使用,略。