一、使用limt语句的分页技术 语句格式
格式1
select * from jwgl.user limit startIndex,pagesize
startIndex :起始下标: 指定从哪个下标地址开始, 数据表的第一记录的下标为0, 依次类推
pagesize : 每次查询的记录数,就是一页上显示几条记录,实现分页
格式2
select * from jwgl.user limit 0,2;
0:从第一条记录开始,2:每页显示两条记录
格式3
select * from jwgl.user limit 5;
相当于
select * from jwgl.user limit 0,5;
5:一页上显示的最大数据为5条记录
二、使用Mybatis分页技术的三步曲----案例1 使用sql语句的分页技术
1、UserMapper接口中
//分页查询技术一 limit 就是面向sql语句的分页技术
List<User> getUserByLimt(Map<String,Integer> map);
2、UserMapper.xml文件中
<resultMap id="abc" type="User">
<result property="userid" column="id"/>
<result property="username" column="name"/>
<result property="usersex" column="sex"/>
<result property="userage" column="age"/>
<result property="useraddress" column="address"/>
</resultMap>
<select id="getUserByLimt" parameterType="map" resultMap="abc">
select *from xsgl2.user limit #{starIndex},#{pageSize}
</select>
3、测试类中
//分页查询技术一 limit 就是面向sql语句的分页技术
@Test
public void getUserByLimt(){
SqlSession sqlSession = DButils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("starIndex",2);
map.put("pageSize",3);
List<User> list = mapper.getUserByLimt(map);
for (User user :list){
System.out.println(user.toString());
}
sqlSession.close();
}
三、使用Mybatis分页技术的三步曲----案例2 使用RowBounds的分页技术
1、UserMapper接口中
//分页查询技术二 RowBounds 就是面向对象的分页技术 逻辑分页
List<User> getUserByRowBounds(Map<String,Integer>map);
2、UserMapper.xml文件中
<resultMap id="abc" type="User">
<result property="userid" column="id"/>
<result property="username" column="name"/>
<result property="usersex" column="sex"/>
<result property="userage" column="age"/>
<result property="useraddress" column="address"/>
</resultMap>
<select id="getUserByRowBounds" resultMap="abc">
select * from xsgl2.user;
</select>
3、测试类中
//分页查询技术二 RowBounds 就是面向对象的分页技术
@Test
public void getUserByRowBounds(){
SqlSession sqlSession = DButils.getSqlSession();
//1、通过RowBounds对象实现分页技术 第几条开始,取多少条
RowBounds rowBounds = new RowBounds(2, 3);
//2、通过java代码实现分页技术
List<User> userList=
sqlSession.selectList("ljg.com.mapper.UserMapper.getUserByRowBounds",null,rowBounds);
for (User user:userList){
System.out.println(user);
}
sqlSession.close();
}