天天看點

【Java閉關修煉】MyBatis-分頁插件PageHelper

【Java閉關修煉】MyBatis-分頁插件PageHelper

    • 介紹
    • 分頁插件的實作步驟
    • 分頁參數的擷取
    • 分頁插件的總結

介紹

【Java閉關修煉】MyBatis-分頁插件PageHelper

使用SQL語句進行分頁操作

-- 第一頁:顯示三條資料  (目前頁-1 * 每頁顯示條數),每頁顯示條數
-- SELECT * FROM student LIMIT 0,3

-- 第二頁顯示三條資料
SELECT * FROM student LIMIT 3,3

           

分頁插件的實作步驟

  • 導入jar包
  • 在核心配置檔案中內建分頁助手插件
  • 在測試類中使用分頁助手相關API實作分頁功能

核心配置檔案中內建分頁助手插件功能

<!--內建分頁助手插件-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>
           
public void selectPaging() throws IOException {
        // 加載核心配置檔案
        InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml");

        // 擷取sqlSession工廠對象
        SqlSessionFactory build = new SqlSessionFactoryBuilder().build(is);

        // 通過工廠對象擷取sqlSession對象
        SqlSession sqlSession = build.openSession(true);

        // 擷取mapper接口的實作類對象
        StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);

        // 通過分頁助手來實作分頁功能  第一頁顯示三條資料
        PageHelper.startPage(1,3);

        // 第二頁顯示三條資料
        PageHelper.startPage(2,3);


        // 第三頁顯示三條資料
        PageHelper.startPage(3,3);

        // 調用實作類方法  接受結果
        List<Student> students = mapper.selectAll();// 查詢結果 傳回一個student數組

        // 處理結果
        for (Student student : students) {
            System.out.println(student);
        }


    }

           

分頁參數的擷取

【Java閉關修煉】MyBatis-分頁插件PageHelper
@Test
    public void selectPaging() throws IOException {
        // 加載核心配置檔案
        InputStream is = Resources.getResourceAsStream("MyBatisConfig.xml");

        // 擷取sqlSession工廠對象
        SqlSessionFactory build = new SqlSessionFactoryBuilder().build(is);

        // 通過工廠對象擷取sqlSession對象
        SqlSession sqlSession = build.openSession(true);

        // 擷取mapper接口的實作類對象
        StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);

        // 通過分頁助手來實作分頁功能  第一頁顯示三條資料
//        PageHelper.startPage(1,3);
//
//        // 第二頁顯示三條資料
//        PageHelper.startPage(2,3);
//
//
//        // 第三頁顯示三條資料
//        PageHelper.startPage(3,3);

        // 調用實作類方法  接受結果
        List<Student> students = mapper.selectAll();// 查詢結果 傳回一個student數組

        PageInfo<Student> info = new PageInfo<>(students);// 擷取分頁對象

        // 擷取分頁的相關參數
        System.out.println("總條數:" + info.getTotal());
        System.out.println("總頁數" + info.getPages());
        System.out.println("目前頁"+ info.getPageNum());
        System.out.println("每條顯示頁數" + info.getPageSize());
        System.out.println("上一頁:" + info.getPrePage());
        System.out.println("下一頁: " + info.getNextPage());


    }

           

分頁插件的總結

【Java閉關修煉】MyBatis-分頁插件PageHelper