如何使用Mybatis第三方插件--PageHelper實現分頁操做

1.概述

最近在作宜立方商城項目時,後臺管理系統要求實現分頁顯示,因爲項目使用了Mybatis逆向生成映射文件,因此在此使用了mybatis第三方插件--PageHelper來實現分頁這一功能,下面就如何在項目使用這一插件進行說明。

2.使用方法

  1. 添加依賴
    把PageHelper依賴的jar包添加到工程中。官方提供的代碼對逆向工程支持的很差,使用參考資料中的pagehelper-fix。首先將下列連接中的pagehelper-fix的maven工程導入myeclipse中,點擊run 選擇maven install,這步操做即可以把pagehelper-fix安裝到本地倉庫,從而能夠將其當作一個jar包來使用。

pagehelper-fix下載連接:連接:https://pan.baidu.com/s/1kXb1OF1 密碼:tgk5java

2.修改mybatis配置文件mysql

在Mybatis配置xml中配置攔截器插件:
   <plugins>
         <!-- com.github.pagehelper爲PageHelper類所在包名 -->
         <plugin interceptor="com.github.pagehelper.PageHelper">
             <!-- 設置數據庫類型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六種數據庫-->        
              <property name="dialect" value="mysql"/>
         </plugin>
    </plugins>

3. 如何在項目中使用PageHelpergit

import java.util.List;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;   
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; 
import cn.e3mall.mapper.TbItemMapper;
import cn.e3mall.pojo.TbItem;
import cn.e3mall.pojo.TbItemExample;  
/**
 * @author 熊濤
 *分頁測試用例
 */
public class PageHelperTest {

    @Test
    public void testPageHelper() throws Exception
    {
        //初始化spring容器
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
        //得到Mapper的代理對象
        TbItemMapper itemMapper = applicationContext.getBean(TbItemMapper.class);
        //執行sql語句前設置分頁信息使用PageHelper的startPage方法
        PageHelper.startPage(1,30);
        //執行查詢
        TbItemExample example = new TbItemExample();
        List<TbItem> list = itemMapper.selectByExample(example);
        //取分頁信息,PageInfo:1.總記錄數   2.總頁數  3.當前頁碼
        PageInfo<TbItem> pageInfo = new PageInfo<>(list);
        System.out.println(pageInfo.getTotal());
        System.out.println(pageInfo.getPages());
        System.out.println(pageInfo.getPageNum());
        System.out.println(pageInfo.getPageSize());

    }
}

4. 在服務層使用PageHelpergithub

@Override
    public EasyUIDataGridResult getItemList(int page, int rows) {
        //設置分頁信息
                PageHelper.startPage(page, rows);
                //執行查詢
                TbItemExample example = new TbItemExample();
                List<TbItem> list = itemMapper.selectByExample(example);
                //取分頁信息
                PageInfo<TbItem> pageInfo = new PageInfo<>(list);
                //建立返回結果對象
                EasyUIDataGridResult result = new EasyUIDataGridResult();
                result.setTotal(pageInfo.getTotal());
                result.setRows(list);
                
                return result;
    }

5. 在控制層使用servicespring

@RequestMapping("/item/list")
@ResponseBody
public EasyUIDataGridResult getItemList(Integer page, Integer rows) {sql

EasyUIDataGridResult result = itemService.getItemList(page, rows);
return result;

}數據庫

相關文章
相關標籤/搜索