Mybatis分页查询的实现(Rowbounds和PageHelper)
程序员文章站
2022-06-10 11:53:28
我们实现查询除了@org.junit.test public void test02(){ sqlsession session = mybatisutil.getsession(...
我们实现查询除了
@org.junit.test public void test02(){ sqlsession session = mybatisutil.getsession(); userdao mapper = session.getmapper(userdao.class); list<user> alluser = mapper.getalluser(); session.close(); for (user user : alluser) { system.out.println(user); } }
还有这样的方式,mybatis官网有介绍
@org.junit.test public void test06(){ sqlsession session = mybatisutil.getsession(); //参数是接口的全限定类名加包名 list<user> users = session.selectlist("com.dongmu.dao.userdao.getalluser"); for (user user : users) { system.out.println(user); } session.close(); }
那么我们下面就学习一下一个
@org.junit.test public void test07(){ rowbounds bounds =new rowbounds(0,3); sqlsession session = mybatisutil.getsession(); list<user> users = session.selectlist("com.dongmu.dao.userdao.getalluser",null,bounds); for (user user : users) { system.out.println(user); } session.close(); }
这里总结一下自己注意到的细节,它的sql语句我们发现是查询的所有的,所以它实际上是逻辑分页,也就是说把结果全部查询除了然后进行按游标分页。
物理分页:物理分页就是数据库本身提供了分页方式,如mysql的limit,oracle的rownum ,好处是效率高,不好的地方就是不同数据库有不同的搞法
逻辑分页:利用游标分页,好处是所有数据库都统一,坏处就是因为先查询到所有数据,所有效率低。
下面我们再介绍一个分页插件pagehelper
使用方式:
加入依赖:
<dependency> <groupid>com.github.pagehelper</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分页查询内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: 电信机顶盒插u盘怎么播放?
下一篇: Java基础知识之注解、元注解
推荐阅读
-
Spring Boot+Mybatis+Druid+PageHelper实现多数据源并分页的方法
-
PageHelper插件实现一对多查询时的分页问题
-
SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)
-
Spring Boot+Mybatis+Druid+PageHelper实现多数据源并分页的方法
-
Mybatis分页插件PageHelper的配置和简单使用方法(推荐)
-
SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)
-
java使用插件pagehelper在mybatis中实现分页查询
-
Oracle使用MyBatis中RowBounds实现分页查询
-
Oracle使用MyBatis中RowBounds实现分页查询功能
-
java使用插件pagehelper在mybatis中实现分页查询