溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Mybatis分頁查詢怎么實現(xiàn)

發(fā)布時間:2022-01-25 09:07:25 來源:億速云 閱讀:264 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Mybatis分頁查詢怎么實現(xiàn),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

我們實現(xiàn)查詢除了

@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官網(wǎng)有介紹

@org.junit.Test
    public void test06(){
        SqlSession session = MybatisUtil.getSession();
        //參數(shù)是接口的全限定類名加包名
        List<User> users = session.selectList("com.dongmu.dao.UserDao.getAllUser");

        for (User user : users) {
            System.out.println(user);
        }

        session.close();
    }

那么我們下面就學(xué)習(xí)一下一個

Mybatis分頁查詢怎么實現(xiàn)

@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();
    }

Mybatis分頁查詢怎么實現(xiàn)

這里總結(jié)一下自己注意到的細(xì)節(jié),它的sql語句我們發(fā)現(xiàn)是查詢的所有的,所以它實際上是邏輯分頁,也就是說把結(jié)果全部查詢除了然后進(jìn)行按游標(biāo)分頁。

物理分頁:物理分頁就是數(shù)據(jù)庫本身提供了分頁方式,如MySQL的limit,oracle的rownum ,好處是效率高,不好的地方就是不同數(shù)據(jù)庫有不同的搞法

邏輯分頁:利用游標(biāo)分頁,好處是所有數(shù)據(jù)庫都統(tǒng)一,壞處就是因為先查詢到所有數(shù)據(jù),所有效率低。

下面我們再介紹一個分頁插件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>

在進(jìn)行失去了查詢之前使用方法:

PageHelper.startPage(pageNum,pageSize);

Mybatis分頁查詢怎么實現(xiàn)

查詢結(jié)果

Mybatis分頁查詢怎么實現(xiàn)

可以發(fā)現(xiàn)我們的PageHelper用到的是PreparedStatement進(jìn)行的物理分頁查詢。

以上是“Mybatis分頁查詢怎么實現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI