【Mybatis】(六)分页
分页
1.为什么要分页?
- 减少数据的处理量
2.使用Limit分页
-
语法
SELECT * FROM user LIMIT startIndex,pageSize; #起始下标从0开始 SELECT * FROM user limit n; #[0,n]
3.使用mybatis实现分页
-
接口
//分页 List<User> getUserByLimit(Map<String,Integer> map); -
UserMapper.xml
<resultMap id="UserMap" type="pojo.User"> <result column="pwd" property="password" /> </resultMap> <!--分页--> <select id="getUserByLimit" parameterType="map" resultMap="UserMap"> select * from mybatiss.user limit #{startIndex},#{pageSize}; </select> -
测试
@Test public void getUserByLimit(){ 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> userList=mapper.getUserByLimit(map); for (User user : userList) { System.out.println(user); } sqlSession.close(); }
4.使用RowBounds实现分页(一般不用了)
不再使用SQL实现分页
-
接口
//分页2 List<User> getUserByRowBounds(); -
UserMapper.xml
<select id="getUserByRowBounds" resultMap="UserMap"> select * from mybatiss.user; </select> -
测试
@Test public void getUserByRowBounds(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); RowBounds rowBounds = new RowBounds(0, 2); //通过java代码层面实现分页 List<User> userList=sqlSession.selectList("dao.UserMapper.getUserByRowBounds",null,rowBounds); for (User user : userList) { System.out.println(user); } sqlSession.close(); }

浙公网安备 33010602011771号