温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

分页插件--pagehelper

发布时间:2020-07-24 06:30:56 来源:网络 阅读:546 作者:dylan的账号 栏目:编程语言

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>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI