spring-mybatis——使用包來實現分頁功能(優化之前的分頁-Pagehelper使用),spring如何進行測試

這是中國人自己寫的分頁的方法,真的厲害,源碼介紹裏全是中文,真得舒服!

這是官方的學習 網站:https://pagehelper.github.io/

Pagehelper

首先我們進行導包:

  

然後我們在spring-mybatis整合的時候,在factory的配置中加入如下代碼(這段代碼官方里有講解,如果感興趣可以自己查閱)

<bean id="factory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="typeAliasesPackage" value="com.bjsxt.pojo" />
        <!--開啓PageHelper分頁插件-->
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <value>
                            <!--設置方言-->
                            helperDialect=mysql
                            <!--開啓合理化分頁參數-->
                            reasonable=true
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

然後我們就可以使用分頁插件啦!

       // 開啓分頁查詢 page是當前頁數 rows是多少條數據(必須用這種方法)
        PageHelper.startPage(page, rows);
        //我需要對所有用戶信息分頁,這裏只需要查所有用戶信息       
        List<User> users = userMapper.selPage();
        //將數據放在pageInfo中,可以隨意的獲得上一頁之類的數據了        
        return new PageInfo<>(users);

這個東西會自動的進行分頁,第一行代碼就是引用了分頁插件,第二行代碼是自己需要分頁的數據,第三行代碼就是單純的將這個集合放進pageInfo中,這裏會對我們的數據進行加工,我們就可以獲得任意我們想要獲得的數據啦!

 

如何在spring中進行測試

我們需要在test中加入註解

package com.bjsxt.test;

import com.bjsxt.pojo.User;
import com.bjsxt.service.MenuService;
import com.bjsxt.service.UserService;
import com.github.pagehelper.PageInfo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
//引入註解類
@RunWith(SpringJUnit4ClassRunner.class)
//找到所有的spring的配置xml
// (我這裏使用了applicationContext-mybatis,applicationContext-tx,applicationContext-service)
@ContextConfiguration("classpath:config/spring/*.xml")
public class TestSpring {
    
//    在這裏就可以使用註解進行對象創建了
    @Autowired
    private UserService userService;


    @Test
    public void test2() {
        PageInfo<User> pageInfo = userService.userListByPage(2, 3);
        System.out.println("總記錄數: " + pageInfo.getTotal());
        System.out.println("總頁數: " + pageInfo.getPages());
        System.out.println("當前頁數: " + pageInfo.getPageNum());
        System.out.println("每頁顯示記錄數: " + pageInfo.getPageSize());
        System.out.println("是否有上一頁: " + pageInfo.isHasPreviousPage());
        System.out.println("上一頁: " + pageInfo.getPrePage());
        System.out.println("是否有下一頁: " + pageInfo.isHasNextPage());
        System.out.println("下一頁: " + pageInfo.getNextPage());
        System.out.println("-----------------------------");
        for (User user : pageInfo.getList()) {
            System.out.println(user);
        }
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章