mybatis配合pagehelper分页助手查询

Maven:

参考:

springBoot2.x整合pagehelper5.1.2:https://blog.csdn.net/Carlson_Chis/article/details/85637489

在pom.xml中配置依赖:

        
        
        <dependency>
            <groupId>com.github.pagehelpergroupId>
            <artifactId>pagehelperartifactId>
            <version>5.1.2version>
        dependency>
        
        <dependency>
            <groupId>com.github.pagehelpergroupId>
            <artifactId>pagehelper-spring-boot-autoconfigureartifactId>
            <version>1.2.5version>
        dependency>
        <dependency>
            <groupId>com.github.pagehelpergroupId>
            <artifactId>pagehelper-spring-boot-starterartifactId>
            <version>1.2.5version>
        dependency>

service中使用:

/**
     * 根据查询条件分页并排序查询品牌信息
     * @param key
     * @param page
     * @param rows
     * @param sortBy
     * @param desc
     * @return
     */
    public PageResult queryBrandsByPage(String key, Integer page, Integer rows, String sortBy, Boolean desc) {

        // 初始化example对象
        Example example = new Example(Brand.class);
        Example.Criteria criteria = example.createCriteria();

        // 根据name模糊查询,或者根据首字母查询
        if (StringUtils.isNotBlank(key)) {
            criteria.andLike("name","%" + key + "%").orEqualTo("letter",key);
        }

        // 添加分页条件
        PageHelper.startPage(page,rows);

        // 添加排序条件
        if (StringUtils.isNotBlank(sortBy)) {
            // 通过判断desc是true还是false,确定升序还是降序
            example.setOrderByClause(sortBy + " " + (desc ? "desc" : "asc"));   // 相当于“id desc”
        }

        // 将查询到的结果保存在Brand类型的list中
        List brands = this.brandMapper.selectByExample(example);

        // 包装成pageInfo
        PageInfo pageInfo = new PageInfo<>(brands);

        // 包装成分页的结果集返回
        return new PageResult<>(pageInfo.getTotal(),pageInfo.getList());

    }

 

你可能感兴趣的:(mybatis配合pagehelper分页助手查询)