您好,登錄后才能下訂單哦!
小編給大家分享一下Mybatis分頁查詢怎么實現,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
我們實現查詢除了
@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分頁查詢怎么實現”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。