service层:多字段查询+分页+排序

 public PageResult queryBrandsByPage(String key, Integer page, Integer rows, String sortBy, Boolean desc) {
        Example example=new Example(Brand.class);
        Example.Criteria criteria = example.createCriteria();

        if(StringUtils.isNotBlank(key)){    //判断某字符串是否不为空且长度不为0且不由空白符构成,
            //模糊查询,根据品牌名或者首字母
            criteria.andLike("name","%"+key+"%").orEqualTo("letter",key);
        }
        //先分页
        PageHelper.startPage(page,rows);
        //后排序
        if(StringUtils.isNotBlank(sortBy)){
            //设置排序参数,setOrderByClause(a b):a,排序字段;b,排序方式(升?降)
            example.setOrderByClause(sortBy+"  "+(desc?"desc":"asc"));
        }

        List list=this.brandMapper.selectByExample(example);
        PageInfo pageInfo=new PageInfo<>(list);
        return new PageResult<>(pageInfo.getTotal(),pageInfo.getList());

    }

你可能感兴趣的:(service层:多字段查询+分页+排序)