MyBatis之分页查询
1.使用Limit分页
语法:
select * from user limit startId,ageSize;
select * from user limit 4;[0,n]
2.使用Mybatis实现分页,核心SQL
- 接口
//分页查询1 List<User>getUserByLimit(Map<String,Integer> map);
- UserMapper.xml
<!--分页1--> <select id="getUserByLimit" resultMap="UserMap" parameterType="map"> select * from mybatis.user limit #{startId},#{ageSize} </select>
- 测试
//分页查询1 @Test public void getUserByLimit() { //1.获取SqlSession对象 SqlSession sqlSession = MybatisUtils.getSqlSession(); //2.执行SQL UserMapper userMapper = sqlSession.getMapper(UserMapper.class); HashMap<String,Integer> map = new HashMap<String, Integer>(); map.put("startId",0); map.put("ageSize",3); List<User> userList = userMapper.getUserByLimit(map); for (User user : userList) { System.out.println(user); } //关闭SqlSession sqlSession.close(); }
3.使用RowBounds分页
注意:RowBounds通过Java代码层面实现分页,不再使用SQL实现分页
- 接口
//分页查询2 List<User>getUserByRowBounds();
- UserMapper.xml
<!--分页2--> <select id="getUserByRowBounds" resultMap="UserMap" parameterType="map"> select * from mybatis.user </select>
- 测试
//分页查询2 @Test public void getUserByRowBounds() { //获取SqlSession对象 SqlSession sqlSession = MybatisUtils.getSqlSession(); //RowBounds实现 RowBounds rowBounds = new RowBounds(0, 2); //通过Java代码层面实现分页 List<User> userList = sqlSession.selectList("com.zzx.dao.UserMapper.getUserByRowBounds",null,rowBounds); for (User user : userList) { System.out.println(user); } //关闭SqlSession sqlSession.close(); }
4.分页插件
了解即可,具体使用方法参考官方文档----->如何使用分页插件
OK,今天的学习就结束啦,如果对你有帮助麻烦给个三连(点赞关注加收藏),我是猪猪侠,一个码农,我们在Mybatis05篇再会
往期MyBatis教学地址----->MyBatis文章合集