Mybatis实现查询分页、使用注解开发
一、MySQL分页查询语句
select * from user limit #{startIndex},#{pageSize};
# startIndex : 起始位置 ,默认是0开始
# pageSize :页面大小
例如:
select * from user limit 0,3
二、Mybatis中使用limit实现分页
-
接口:
//查询全部用户实现分页 List<User> selectUserByLimit(Map<String,Integer> map);
-
编写对应mapper映射文件的方法
<select id="selectUserByLimit" parameterType="Map" resultType="User"> select * from mybatis.user limit #{startIndex},#{pageSize} </select>
-
测试模拟分页
@Test public void selectUserByLimit(){ //创建sqlSession SqlSessionFactory sqlSessionFactory = MyBatisUtils.getSqlSessionFactory(); SqlSession sqlSession = sqlSessionFactory.openSession(); //模拟前端数据数据 int currentPage = 2;//当前是第几页 int pageSize = 2; //页面大小 Map<String, Integer> map = new HashMap<String, Integer>(); map.put("startIndex",(currentPage-1)*pageSize); map.put("pageSize",pageSize); //测试 UserDao mapper = sqlSession.getMapper(UserDao.class); List<User> users = mapper.selectUserByLimit(map); for (User user : users) { System.out.println(user); } sqlSession.close();//关闭连接 }
三、Mybatis中使用RowBounds实现分页
-
接口
//查询全部用户实现分页使用RowBounds List<User> selectUserByRowBounds();
-
Mapper映射文件