Mybatis使用Limit分页
user表
首先我们来回顾一下sql中的limit语句
SELECT * FROM `user` LIMIT 0,2
这里limit后面第一个参数为startIndex,也就是查询的起始点,第二个参数为pageSize,为本次查询的个数,连起来就是从第startIndex开始查pageSize个用户
结果如下:
SELECT * FROM `user` LIMIT 3
但如果limit后面只有一个参数,它的意思为默认从0开始查n个
好,接下来我们进入主题
分页查询最重要的两个参数startIndex和pageSize
<select id="getUserByLimit" parameterType="map" resultMap="LimitUser">
select * from mybatis.user limit #{startIndex},#{pageSize}
</select>
<resultMap id="LimitUser" type="User">
<result column="pwd" property="password"/>
</resultMap>
在sql中传入这两个参数
@Test
public void getUserByLimit() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("startIndex",0);
map.put("pageSize",2);
List<User> user = mapper.getUserByLimit(map);
System.out.println(user);
sqlSession.close();
}
这里我使用的是map进行传参,往map中put入0和2,即可查询出前两个user
更多推荐
Mybatis使用Limit分页
发布评论