MyBatis-分页

mac2022-06-30  28

为什么需要分页?

为了减少数据的处理量,使服务器不会因为响应数据过多时,无法及时响应,而降低用户体验

MyBatis分页方法一

通过Limit分页

接口中定义处理方法 List<User> getUserLimit(Map<String ,Integer> map); 编写sql语句 startIndex:查询时的起始索引 pageSize:每次查询的数据条数 <resultMap id="resultmap" type="user"> <result column="pwd" property="password"/> </resultMap> <select id="getUserLimit" parameterType="map" resultMap="resultmap"> select * from mybatis.user limit #{startIndex},#{pageSize} </select> 测试类调用 @Test public void getUserLimit(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); HashMap<String, Integer> map = new HashMap<>(); map.put("startIndex", 0); map.put("pageSize",3); List<User> userLimit = mapper.getUserLimit(map); for (User user : userLimit) { System.out.println(user); } sqlSession.close(); }

MyBatis分页方法二

通过RowBounds分页

接口定义方法 List<User> getUserRowLimit(); 在接口对应的.xml文件中,编写sql <select id="getUserRowLimit" resultMap="resultmap"> select * from mybatis.user </select> 测试类调用 @Test public void getUserRowLimit(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); List<User> userList = sqlSession.selectList("Dao.UserMapper.getUserRowLimit", null, new RowBounds(1, 3)); for (User user : userList) { System.out.println(user); } sqlSession.close(); }

MyBatis分页方法三

通过MyBatis的分页插件来实现:PageHelper

最新回复(0)