limit分页
一.在Mapper接口中编写方法
List<User> getUserByLimit(HashMap<String, Object> value);
二.在Mapper配置文件中编写SQL语句
<!--column为数据库中的字段名 property为实体类中的属性名-->
<resultMap id="rMap" type="cn.alan.POJO.User">
<result column="password" property="PWD"/>
</resultMap>
<!--分页-->
<!--limit 查询开始的页数 每页行数-->
<select id="getUserByLimit" resultMap="rMap" parameterType="map">
select * from mybatis.user limit #{startIndex},#{pageSize};
</select>
三.编写测试文件
@Test
public void getUserByLimit() {
SqlSession sqlSession = mybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
HashMap<String,Object> map = new HashMap<String, Object>();
map.put("startIndex",0);
map.put("pageSize",2);
List<User> userList = userMapper.getUserByLimit(map);
for (User user : userList){
System.out.println(user);
}
sqlSession.close();
}
运行结果
若设置startIndex=1,pageSize不变则有:
显然,该次查询从第二页开始,但由于第二页仅有一位用户,故从第一页末尾选取了一位