我们实现查询除了
@org.junit.test public void test02(){ sqlssion ssion = mybatisutil.getssion(); urdao mapper = ssion.getmapper(urdao.class); list<ur> allur = mapper.getallur(); ssion.clo(); for (ur ur : allur) { system.out.println(ur); } }
还有这样的方式,mybatis官网有介绍
@org.junit.test public void test06(){ sqlssion ssion = mybatisutil.getssion(); //参数是接口的全限定类名加包名 list<ur> urs = ssion.lectlist("com.dongmu.dao.urdao.getallur"); for (ur ur : urs) { system.out.println(ur); } 手机不能上网怎么回事 ssion.clo(); }
那么我们下面就学习一下一个
@org.junit.test public void test07(){ rowbounds bounds =new rowbounds(0,3); sqlssion ssion = mybatisutil.getssion(); list<ur> urs = ssion.lectlist("com.dongmu.dao.urdao.getallur",null,bounds); for (ur ur : urs) { system.out.println(ur); } ssion.clo(); }
这里总结一下自己注意到的细节,它的sql语句我们发现是查询的所有的,所以它实际上是逻辑分页,也就是说把结果全部查询除了然后进行按游标分页。
物理分页:物理分页就是数据库本身提供了分页国内大学方式,如mysql的limit,oracle的rodnf镇魂wnum ,好处是效率高,不好的地方就是不同数据库有不同的搞法
逻辑分页:利用游标分页,好处是所有数据库都统一,坏处就是因为先查询到所有数据,所有效率低。
下面我们再介绍一个分页插件pagehelper
使用方式:
加入依赖:
<dependency> <groupid>com.github.pag嘿嘿连载APPehelper</groupid> <artifactid>pagehelper</artifactid> <version>5.1.10</version> </dependency>
在mybatis的主配置文件中,在<environments>之前加入
<plugins><plugin interceptor="com.github.pagehelper.pageinterceptor" /></plugins>
在进行失去了查询之前使用方法:
pagehelper.startpage(pagenum,pagesize);
查询结果
可以发现我们的pagehelper用到的是preparedstatement进行的物理分页查询。
到此这篇关于mybatis分页查询的实现(rowbounds和pagehelper)的文章就介绍到这了,更多相关mybatis分页查询内容请搜索www.887551.com以前的文章或继续浏览下面上单提莫的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 18:12:06,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/295d99e64062985c37bdc65b699321d5.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Mybatis分页查询的实现(Rowbounds和PageHelper).doc
本文 PDF 下载地址:Mybatis分页查询的实现(Rowbounds和PageHelper).pdf
留言与评论(共有 0 条评论) |