洞察掌握android电视app开发中的安全与合规策略,提升企业运营效率
1284
2022-11-04
Mybatis分页查询的实现(Rowbounds和PageHelper)
我们实现查询除了
@org.junit.Test
public void test02(){
SqlSession session = MybatisUtil.getSession();
UserDao mapper = session.getMapper(UserDao.class);
List
session.close();
for (User user : allUser) {
System.out.println(user);
}
}
还有这样的方式,Mybatis官网有介绍
@org.junit.Test
public void test06(){
SqlSession session = MybatisUtil.getSession();
//参数是接口的全限定类名加包名
List
for (User user : users) {
System.out.println(user);
}
session.close();
http:// }
那么我们下面就学习一下一个
@org.junit.Test
publhttp://ic void test07(){
RowBounds bounds =new RowBounds(0,3);
SqlSession session = MybatisUtil.getSession();
List
for (User user : users) {
System.out.println(user);
}
session.eOcYCLEtclose();
}
这里总结一下自己注意到的细节,它的sql语句我们发现是查询的所有的,所以它实际上是逻辑分页,也就是说把结果全部查询除了然后进行按游标分页。
物理分页:物理分页就是数据库本身提供了分页方式,如mysql的limit,oracle的rownum ,好处是效率高,不好的地方就是不同数据库有不同的搞法
逻辑分页:利用游标分页,好处是所有数据库都统一,坏处就是因为先查询到所有数据,所有效率低。
下面我们再介绍一个分页插件PageHelper使用方式:
加入依赖:
在mybatis的主配置文件中,在
在进行失去了查询之前使用方法:
PageHelper.startPage(pageNum,pageSize);
查询结果
可以发现我们的PageHelper用到的是PreparedStatement进行的物理分页查询。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~