@ResponseBody
@RequestMapping(value = "/rest/product/productname/{ productname }",method=RequestMethod.GET)
public RequestResult<Product> selectProductByName(@PathVariable(value="productname") String productname){
List<Product> productList = productService.selectProductByName(productname);
if(productList!=null) {
result.setCode(200); //网络请求返回成功,状态码200
result.setMessage("成功查询到产品");
result.setData(productList);
result.setSuccess(true);
}else {
result.setCode(404); // NOT FOUND [*] 用户发出的请求针对的是不存在的记录,服务器没有进行操作
result.setMessage("没有查询到产品");
result.setData(null);
result.setSuccess(false);
}
return result;
}
package service;
import java.util.List;
import pojo.Product;
public interface ProductService {
public List<Product> allProduct();
int insertProduct(Product p);
int deleteProduct(int id);
public List<Product> selectProductById(int id);
public List<Product> selectProductByName(String productname);
}
package service.Impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import dao.ProductMapper;
import pojo.Product;
import service.ProductService;
@Service
@Repository
public class ProductServiceImpl implements ProductService{
@Autowired
private ProductMapper productMapper;
@Override
public List<Product> allProduct() {
return productMapper.allProduct();
}
@Override
public int insertProduct(Product p) {
return productMapper.insertProduct(p);
}
@Override
public int deleteProduct(int id) {
return productMapper.deleteProduct(id);
}
@Override
public List<Product> selectProductById(int id) {
return productMapper.selectProductById(id);
}
@Override
public List<Product> selectProductByName(String productname) {
return productMapper.selectProductByName(productname);
}
}
package dao;
import java.util.List;
import pojo.Product;
public interface ProductMapper {
public List<Product> allProduct();
public int insertProduct(Product p);
public int deleteProduct(int id);
public List<Product> selectProductById(int id);
public List<Product> selectProductByName(String productname);
}
<select id=" selectProductByName" parameterType="String" resultType="pojo.Product">
select * from product where productname like concat('%',#{productname},'%')
</select>
postman可以查询全部产品的信息前面用id查询也是可以的删除产品等操作都是可以运行然后用产品名字查询产品信息就报错了(详见第一张