Mybatis分页查询
使用limit分页
语法:
SELECT * FROM USER LIMIT startIndex,pageSize;
SELECT * FROM USER LIMIT 3; [0,3)
- mapper接口
public interface UserMapper {
public List<User> queryUserLimit(Map<String,Object> map);
}
- mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jiu.mapper.UserMapper">
<select id="queryUserLimit" parameterType="map" resultType="user">
select *
from mybatis.user
limit #{startIndex},#{pageSize};
</select>
</mapper>
- 测试
@Test
public void test(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String,Object> map = new HashMap<>();
map.put("startIndex",0);
map.put("pageSize",4);
for (User user : mapper.queryUserLimit(map)) {
System.out.println(user);
}
sqlSession.close();
}
- 测试结果
RowBounds分页
- 接口
public List<User> queryUserByRowBounds();
- mapper.xml
<select id="queryUserByRowBounds" resultType="user">
select *
from mybatis.user;
</select>
- 测试
@Test
public void test2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
RowBounds rowBounds = new RowBounds(0,4);
List<User> userList = sqlSession.selectList("com.jiu.mapper.UserMapper.queryUserByRowBounds", null, rowBounds);
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
- 查询结果