开发者学堂课程【MyBatis持久层框架入门:分页的实现】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/21
分页的实现
目录
一.分析mvsal.的分页语句:1imit startIndex,pageNum
二.通过RowBounds,来实现分页
1. 分析mvsal.的分页语句:1imit startIndex,pageNum
l mapper映射文件
<!-- 查询所有用户-->
<select id= "selectALL" parameterType= "Map"
resultType="User">
select * from user limit
#{startIndex},#{pageSize}</select>
</select>
l Dao中的写法
//分页查询
publicList<User> getAll(int currentPage,int pageSize)throws I0Exception(
SqlSession session=MyBatisUtil.getSession();
Map<String,Integer> map = new HashMap<String ,Integer>();
map. put("startIndex", (currentPage-1)*pageSize);
map. put("pageSize", pageSize);
List<User> list =
session.selectlist("cn.sxt.entity.UserMapper.selectAll",map);
session.close();
return list;
Ø 注意:不用为参数设置类,可以采用map结构来解决这个问题。
2. 通过RowBounds,来实现分页
l Mapper文件不用做任何改变
<select id="getALl"resultType="User">
select * from user
</select>
Dao.中需要新建RowBounds.对象
RowBounds rowBounds-new RowBounds(index,size);ndex是下标,size数据
//分页查询
public List<User>getAll(int currentPage, intpageSize) throws
IOException
SqlSession session=MyBatisUtil getSession();
RowBounds rowBounds = new
RowBounds((currentPage -1)*pageSize,pageSize) ;
List<User> list =
session.selectlist("cn.sxt.entity.UserMapper.getAll",null,rowBounds);
session.close( );
return list;
}