接口开发:
模糊查询
sql:(productMapper)
public ListselectProductByKeyword(@Param("kw") String keyword, @Param("start") int start, @Param("limit") int limit);
映射文件:
service实现:
public R searchProduct(String kw,int pageNum,int limit);
@Override
public R searchProduct(String kw, int pageNum, int limit) {
//1.查询搜索结果
kw = "%"+kw+"%";
int start = (pageNum - 1)*limit;
List productVOS = productMapper.selectProductByKeyword(kw, start, limit);
//2.查询总记录数
Example example = new Example(Product.class);
Example.Criteria criteria = example.createCriteria();
criteria.andLike("productName",kw);
int count = productMapper.selectCountByExample(example);
//3.计算总记录数
int pageCount = count%limit==0? count/limit:count/limit+1;
//4.封装,返回数据
PageHelper pageHelper = new PageHelper<>(count,pageCount,productVOS);
R r = new R(ResStatus.OK,"success",pageHelper);
return r;
}
controller实现:
//根据关键字查询商品接口
@GetMapping("/listbykeyword")
public R searchProducts(String keyword,int pageNum,int pageSize){
return productService.searchProduct(keyword, pageNum, pageSize);
}
根据关键字查询对应商品的品牌:
sql:
数据库实现:productMapper:
public ListselectBrandByKeyword(String kw);
映射文件:
service实现:
public R listBrandsByKeyword(String kw);
@Override
public R listBrandsByKeyword(String kw) {
kw = "%"+kw+"%";
List strings = productMapper.selectBrandByKeyword(kw);
return new R(ResStatus.OK,"success",strings);
}
controller实现:
//根据关键字查询商品品牌接口
@GetMapping("/listbrandsByKeyword")
public R getBrandsByKeyword(String keyword){
return productService.listBrandsByKeyword(keyword);
}



