Mybatis学习笔记来自B站狂神说Java Mybatis系列视频~
视频链接:https://www.bilibili.com/video/BV1NE411Q7Nx
纯个人手打,可能会有错误,欢迎指正交流探讨~
个人邮箱:460168087@qq.com
6、Limit分页实现
1. Limit SQL语句
#语法
select * from table limit startindex,pagesize;
#选择记录第6-15行,索引从0开始
select * from table limit 5,10;
#如果pagesize为-1,即指从startindex一直到最后一个
select * from table limit 5,-1;
#如果只给定一个参数,表示返回最大的记录行数目,即pagesize
select * from table limit 5;
# 换而言之 limit n 等价于 limit 0,n
2. 步骤
-
在Mapper文件中加入分页语句
<select id="selectUser" parameterType="map" resultMap="UserMap"> select * from user limit #{startIndex},#{pageSize} </select>
-
Mapper接口,参数为map
List<User> selectUser(Map<String,Integer> map);
-
测试
@Test public void test_selectbylimit(){ //获得sqlSession对象 SqlSession sqlSession=MybatisUtils.getSqlSession(); //通过getMapper来得到 接口类UserDao的实体类 创建 UserDao mapper = sqlSession.getMapper(UserDao.class); //创建selectUser需要的输入类map的相关参数 int currentpage=1; int pageSize=2; Map<String,Integer> map = new HashMap<String,Integer>(); map.put("startIndex",(currentpage-1)*pageSize); map.put("pageSize",pageSize); List<User> users=mapper.selectUser(map); //结果输出 for (User user : users) { System.out.println(user); } sqlSession.close(); }