溫馨提示×

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

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

怎么在mybatis中利用pageHelper實(shí)現(xiàn)一個(gè)分頁效果

發(fā)布時(shí)間:2021-04-20 17:45:06 來源:億速云 閱讀:180 作者:Leah 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)怎么在mybatis中利用pageHelper實(shí)現(xiàn)一個(gè)分頁效果,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

1、jar包引入

我們項(xiàng)目中在依賴管理方面采用的是Maven,所以想要引入分頁的jar包,我們需要配置三坐標(biāo):

<dependency>
 <groupId>com.github.pagehelper</groupId>
 <artifactId>pagehelper</artifactId>
 <version>${pagehelper.version}</version>
</dependency>

2、配置mybatis的攔截器:

<configuration>
  <!-- 配置分頁插件 -->
 <plugins>
 <plugin interceptor="com.github.pagehelper.PageHelper">
  <!-- 設(shè)置數(shù)據(jù)庫類型 -->
  <property name="dialect" value="mysql"/>
 </plugin>
 </plugins>
</configuration>

3、編寫service層

頁面采用的是easyUI的框架,頁面接收數(shù)據(jù)采用的是json格式,所以在數(shù)據(jù)傳輸過程中,我們把最終的結(jié)果封裝在一個(gè)實(shí)體里面,就需要在增加一個(gè)分頁實(shí)體類:EUDataGridResult

package com.taotao.common.pojo;
 
import java.util.List;
 
public class EUDataGridResult {
   //結(jié)果總數(shù)
 private long total;
   //結(jié)果行數(shù)
 private List<?> rows;
 public long getTotal() {
 return total;
 }
 public void setTotal(long total) {
 this.total = total;
 }
 public List<?> getRows() {
 return rows;
 }
 public void setRows(List<?> rows) {
 this.rows = rows;
 }
 
}

編寫業(yè)務(wù)層代碼,增加分頁處理,設(shè)置返回對(duì)象:

/**
 * 分頁查詢商品列表信息
 */
 @Override
 public EUDataGridResult getItemByList(int page, int rows) {
 //查詢商品列表
 TbItemExample example=new TbItemExample();
 //分頁處理
 PageHelper.startPage(page, rows);
 List<TbItem> list=itemMapper.selectByExample(example);
 //創(chuàng)建一個(gè)返回值對(duì)象
 EUDataGridResult result=new EUDataGridResult();
 //設(shè)置返回結(jié)果
 result.setRows(list);
 //設(shè)置返回的總記錄數(shù)
 PageInfo<TbItem> pageInfo=new PageInfo<>(list);
 result.setTotal(pageInfo.getTotal());
 return result;
 }

4、編寫前端控制層controller代碼:

Controller中主要功能是接收頁面?zhèn)鬟^來的參數(shù),并且返回json類型的數(shù)據(jù)結(jié)果:

/**
 * 分頁查詢商品信息列表
 * @param page
 * @param rows
 * @return
 */
 @RequestMapping("/item/list")
 @ResponseBody
 public EUDataGridResult getItemList(Integer page,Integer rows){
 EUDataGridResult result=itemService.getItemByList(page, rows);
 return result;
 }

5、jsp的頁面:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<table class="easyui-datagrid" id="itemList" title="商品列表" 
    data-options="singleSelect:false,collapsible:true,pagination:true,url:'/item/list',method:'get',pageSize:30,toolbar:toolbar">
  <thead>
    <tr>
     <th data-options="field:'ck',checkbox:true"></th>
     <th data-options="field:'id',width:60">商品ID</th>
      <th data-options="field:'title',width:200">商品標(biāo)題</th>
      <th data-options="field:'cid',width:100">葉子類目</th>
      <th data-options="field:'sellPoint',width:100">賣點(diǎn)</th>
      <th data-options="field:'price',width:70,align:'right',formatter:TAOTAO.formatPrice">價(jià)格</th>
      <th data-options="field:'num',width:70,align:'right'">庫存數(shù)量</th>
      <th data-options="field:'barcode',width:100">條形碼</th>
      <th data-options="field:'status',width:60,align:'center',formatter:TAOTAO.formatItemStatus">狀態(tài)</th>
      <th data-options="field:'created',width:130,align:'center',formatter:TAOTAO.formatDateTime">創(chuàng)建日期</th>
      <th data-options="field:'updated',width:130,align:'center',formatter:TAOTAO.formatDateTime">更新日期</th>
    </tr>
  </thead>
</table>

關(guān)于怎么在mybatis中利用pageHelper實(shí)現(xiàn)一個(gè)分頁效果就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

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

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

AI