分頁插件--pagehelper

PageHelper 是國內非常優秀的一款開源的 mybatis 分頁插件,它支持基本主流與常用的數據庫,例如 mysql、 oracle、mariaDB、DB2、SQLite、Hsqldb 等。
網址:https://pagehelper.github.io/ 本項目在 github 的項目地址:https://github.com/pagehelper/Mybatis-PageHelper 本項目在 gitosc 的項目地址:http://git.oschina.net/free/Mybatis_PageHelper
1.在 pom.xml 中添加如下依賴:

<dependency> 
    <groupId>com.github.pagehelper</groupId> 
    <artifactId>pagehelper</artifactId> 
</dependency>
  1. 在 MyBatis 配置 xml 中配置攔截器插件 (dao層,配置在sqlSessionFactory裏)

    <!--      plugins 在配置文件中的位置必須符合要求,否則會報錯,順序如下: 
    properties?, settings?,  
    typeAliases?, typeHandlers?,  
    objectFactory?,objectWrapperFactory?,  
    plugins?,  
    environments?, databaseIdProvider?, mappers? 
    --> 
    <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <!-- 這裏的幾個配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
                    <property name="properties">
                        <value>
                            helperDialect=mysql
                            reasonable=true
                        </value>
                    </property>
                </bean>
            </array>
        </property>

    3.配置service

    service接口

    /**
     * 查詢所有部門,帶分頁(用的pageHelper)
     * @return
     */
    PageInfo findAll(int page, int size);

    service實現類

    public PageInfo findAll(int page, int size) {
        //1.設置分頁信息,使用PageHelper的靜態方法
        PageHelper.startPage(page,size);
        //2.調用deptDao的查詢所有方法
        List<Company> companies = companyDao.findAll();
        //3.創建返回值並返回
        return new PageInfo(companies);
    }

    4。配置controller的方法

    @Autowired
    private CompanyService companyService;
    
    /**
     * 查詢所有
     * @return
     */
    @RequestMapping("/list")
    public String list(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "2") int size){
        //1.調用service查詢
       // List<Company> companyList = companyService.findAll();
        PageInfo pageInfo = companyService.findAll(page, size);
        //2.存入請求域中
       // request.setAttribute("list",companyList);
        request.setAttribute("page",pageInfo);
        //3.轉發到列表頁面
        return "company/company-list";
    }

    前端頁面
    <div class="box-footer">
    <jsp:include page="../common/page.jsp">
    <jsp:param value="${ctx}/company/list.do" name="pageUrl"/>
    </jsp:include>
    </div>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章