pageHelper分頁插件實現分頁技術(mybatis應用web項目)


做后台的都知道,pageHelper分頁插件可以很容易地實現后台分頁技術,但是幾乎都是應用於maven的項目,下面我來說一下應用於web項目的實現。

第一步:導入pageHelper的jar包

pagehelper-3.4.2-fix.jarpagehelper.jar

第二步:在mybatis的配置文件里配置插件

1 <plugins>
2         <plugin interceptor="com.github.pagehelper.PageHelper">
3             <property name="dialect" value="mysql"/>
4         </plugin>
5     </plugins>

第三步:service實現層

public List<RentTable> selectAllRentFile(RentTable rentTable,int page) {
        
        PageHelper.startPage(page, 5);
        
        return rentTableMapper.selectAllRentFile(rentTable);
    }

並不需要在配置文件中修改sql語句,只需要在service層調用pageHelper.startPage方法即可,page是從jsp傳過來的操作的頁碼,“”5”代表每頁顯示的數量,

然后這個pageHelper就會自動地在sql語句分頁,此時你返回的就是帶着分頁的結果。

第四步:controller層

@RequestMapping("/findAllRent")
    public ModelAndView findAllRentFile(RentTable rentTable,Integer page){
            
            ModelAndView mv = new ModelAndView();
        
            List<RentTable> rentList = rentCarService.selectAllRentFile(rentTable, page);
            PageInfo<RentTable> rentLists = new PageInfo<>(rentList);
            mv.addObject("rentLists", rentLists);
            mv.addObject("rentTable", rentTable);
            mv.setViewName("/html/lendFileList.jsp");
            
            return mv;
    }

controller層調用了service層,將返回值封裝到PageInfo的對象里,就可以調用PageInfo的方法和屬性在jsp頁面進行展示了。下面是PageInfo的所有屬性注釋。

 //當前頁
    private int pageNum;
    //每頁的數量
    private int pageSize;
    //當前頁的數量
    private int size;
    //由於startRow和endRow不常用,這里說個具體的用法
    //可以在頁面中"顯示startRow到endRow 共size條數據"

    //當前頁面第一個元素在數據庫中的行號
    private int startRow;
    //當前頁面最后一個元素在數據庫中的行號
    private int endRow;
    //總記錄數
    private long total;
    //總頁數
    private int pages;
    //結果集
    private List<T> list;

    //第一頁
    private int firstPage;
    //前一頁
    private int prePage;
    //下一頁
    private int nextPage;
    //最后一頁
    private int lastPage;

    //是否為第一頁
    private boolean isFirstPage = false;
    //是否為最后一頁
    private boolean isLastPage = false;
    //是否有前一頁
    private boolean hasPreviousPage = false;
    //是否有下一頁
    private boolean hasNextPage = false;
    //導航頁碼數
    private int navigatePages;
    //所有導航頁號
    private int[] navigatepageNums;

 

第五步:jsp頁面展示省略。直接使用el表達式調用上邊的屬性可用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM