020.PageHelper分頁外掛
阿新 • • 發佈:2022-12-09
1.分頁查詢要面臨的問題
2.使用流程
2.1 pom.xml
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version> </dependency> <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.4</version> </dependency>
2.2 mybatis-config.xml
<!--啟用Pagehelper分頁外掛--> <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <!--設定資料庫型別--> <property name="helperDialect" value="mysql"/> <!--分頁合理化--> <property name="reasonable" value="true"/> </plugin> </plugins>
2.3 分頁的處理
2.3.1 goods.xml
<select id="selectPage" resultType="com.imooc.mybatis.entity.Goods">
select * from t_goods where current_price < 1000
</select>
2.3.2 測試類
@Test /** * PageHelper分頁查詢 */ public void testSelectPage() throws Exception { SqlSession session= null; try { session = MyBatisUtils.openSession(); /*startPage方法會自動將下一次查詢進行分頁*/ PageHelper.startPage(2,10); Page<Goods> page = (Page) session.selectList("goods.selectPage"); System.out.println("總頁數:" + page.getPages()); System.out.println("總記錄數:" + page.getTotal()); System.out.println("開始行號:" + page.getStartRow()); System.out.println("結束行號:" + page.getEndRow()); System.out.println("當前頁碼:" + page.getPageNum()); List<Goods> data = page.getResult();//當前頁資料 for (Goods g : data) { System.out.println(g.getTitle()); } System.out.println(""); } catch (Exception e) { throw e; } finally { MyBatisUtils.closeSession(session); } }