思考:为什么要分页?
减少数据的处理量
使用Limit分页
1.语法:SELECT * FROM USER LIMIT STARTINDEX,PAGESIZE;
2.SELECT * FROM USER LIMIT 0,3 ;#[0,N]
使用mybatis 实现分页,核心SQL
1.接口
//分页 List<User>getUserByLimit(Map<String,Integer>map);
2.Mapper.xml
<select id="getUserByLimit" resultMap="UserMap" parameterType="map"> select * from user limit #{startIndex},#{pagSize} </select>
3.测试
@Test public void getUserByLimit() { SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); HashMap<String, Integer> map = new HashMap<String,Integer>(); map.put("startIndex", 0); map.put("pagSize", 2); List<User> UserLimit = mapper.getUserByLimit(map); for (User user : UserLimit) { System.out.println(user); } sqlSession.close(); }
二.RowBounds分页
不再使用SQl实现分页
1.接口
//分页2 通过RowBounds实现 List<User>getUserByRowBounds();
2.mapper.xml
<select id="getUserByRowBounds" parameterType="map" resultMap="UserMap"> select * from user </select>
3.测试
@Test public void getUserByRowBounds(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); //RowBounds实现 RowBounds rowBounds = new RowBounds(0, 2); //通过java代码层面实现分页 List<User> userlist = sqlSession.selectList("com.xu.dao.UserMapper.getUserByRowBounds",null,rowBounds); for (User user : userlist) { System.out.println(user); } sqlSession.close(); }
三.分页插件
MyBatis 分页插件 PageHelperhttps://pagehelper.github.io/
了解知道是什么东西就好了
本文含有隐藏内容,请 开通VIP 后查看