1.controller层
/**
* 分页查询品牌
* @param page
* @param rows
* @param sortBy
* @param desc
* @param key
* @return
*/
@ApiOperation("分页查询品牌")
@ApiImplicitParams({
@ApiImplicitParam(name = "page",value = "当前页数",paramType = "Integer"),
@ApiImplicitParam(name = "rows",value = "每页显示条数",paramType = "Integer"),
@ApiImplicitParam(name = "sortBy",value = "按什么排序"),
@ApiImplicitParam(name = "desc",value = "是否降序显示",paramType = "Boolean"),
@ApiImplicitParam(name = "key",value = "搜索关键字")
})
@GetMapping("page")
public ResponseEntity<PageResult<Brand>> queryBrandByPage(
@RequestParam(value = "page",defaultValue = "1")Integer page,
@RequestParam(value = "rows",defaultValue = "5")Integer rows,
@RequestParam(value = "sortBy",required = false)String sortBy,
@RequestParam(value = "desc",defaultValue ="false")Boolean desc,
@RequestParam(value = "key",required = false)String key
){
return ResponseEntity.ok(brandService.queryBrandByPage(page,rows,sortBy,desc,key));
}
2、server层
public PageResult<Brand> queryBrandByPage
(Integer page, Integer rows, String sortBy, Boolean desc, String key) {
//分页
PageHelper.startPage(page,rows);
//过滤
Example example = new Example(Brand.class);
if(StringUtils.isNotBlank(key)){
//过滤条件
example.createCriteria().orLike("name","%"+key+"%")
.orEqualTo("letter",key.toUpperCase());
}
//排序
if(StringUtils.isNotBlank(sortBy)){
String orderByClause=sortBy+(desc?"DESC":"ASC");
example.setOrderByClause(orderByClause);
}
//查询
List<Brand> list = brandMapper.selectByExample(example);
if(CollectionUtils.isEmpty(list)){
throw new LyException(ExceptionEnums.BEAND_CANNOT_BE_FOND);
}
PageInfo<Brand> info = new PageInfo<>(list);
return new PageResult<>(info.getTotal(),list);
}
3.DAO层
package com.leyou.item.mapper;
import com.leyou.item.pojo.Brand;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper;
import java.util.List;
public interface BrandMapper extends Mapper<Brand> {
@Insert("insert into tb_category_brand VALUES (#{cid},#{bid})")
int insertCategoryBrand(@Param("cid")long cid,@Param("bid")long bid);
@Select("select b.id,b.`name` FROM tb_brand b INNER JOIN tb_category_brand cb ON b.id=cb.brand_id where cb.brand_id=#{cid}")
List<Brand> queryBrandByCid(@Param("cid") Long cid);
}