浅谈MyBatis分页开发,你知道有哪些实现方式呢?
Posted 缘分锝天空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈MyBatis分页开发,你知道有哪些实现方式呢?相关的知识,希望对你有一定的参考价值。
分页查询:就是将数据库查询的结果在有限的界面上分好多页显示,分页是许多网站的常用功能,也是最基本的功能。
为什么要分页?减少数据的处理量
下面用例子演示说明实现分页查询的两种方式:
方式一:
使用limit分页,即在SQL语句中使用limit限定词,如:
1.接口:
// 分页查询
List<stu> selectstulimit(Map<String, Integer> map);
2.Mapper.xml
<select id="selectstulimit" parameterType="map" resultType="stu">
select ID,name from stu limit #{start},#{end } ;
</select>
3.测试
所用的数据库表:
@Test
public void selectstulimit() {
SqlSession sqlSession = mybatisUtils.getSqlSession();
stuDao stuDao = sqlSession.getMapper(com.ys.Dao.stuDao.class);
Map<String, Integer> map = new HashMap<>();
map.put("start", 1);
map.put("end", 2);
List<stu> stuList = stuDao.selectstulimit(map);
for (stu stu : stuList) {
logger.info(stu);
}
sqlSession.close();
}
测试结果如下:
方式二:
使用RowBounds分页,Mybatis提供可以进行逻辑分类的RowBounds类,通过传递RowBounds对象,来进行数据库的分页操作,任何select语句都可以使用它。如:
1.接口:
//使用RowBounds分页查询
List<stu> selectstulimit2();
2.Mapper.xml
<select id="selectstulimit2" resultType="stu">
select ID,name from stu
</select>
3.测试
所查询数据库表同上
@Test
public void selectstulimit2() {
SqlSession sqlSession = mybatisUtils.getSqlSession();
RowBounds rowBounds = new RowBounds(0, 3);
List<stu> stuList = sqlSession.selectList("com.ys.Dao.stuDao.selectstulimit2",null,rowBounds);
for (stu stu : stuList) {
logger.info(stu);
}
sqlSession.close();
}
查询结果如下:
当然还有其他实现方式,比如使用分页插件:PageHelpr,具体用法点击查看——>传送门
。。。。。。。
现在0.06,睡觉去了。。。
以上是关于浅谈MyBatis分页开发,你知道有哪些实现方式呢?的主要内容,如果未能解决你的问题,请参考以下文章