Mybatis,模糊查询语句,以及传参数的正确写法
不多说直接上代码!
接口:
public interface CommodityMapper {
int deleteByPrimaryKey(Integer productId);
int insert(Commodity record);
Commodity selectByPrimaryKey(Integer productId);
List<Commodity> selectAll();
List<Commodity> getType(int id);
int updateByPrimaryKey(Commodity record);
int getCount();
List<Commodity> SearchCommodity(@Param("productName") String productName);//注意传参的名字必须要和Mapper文件一致
}
Constroller层:
//搜索
@RequestMapping(path = "/search", method = RequestMethod.GET)
public ResponseEntity Search(String productName) {
if (commodityService.SearchCommodity(productName).size() != 0) {
return ResponseEntity.ok(commodityService.SearchCommodity(productName));
} else {
return ResponseEntity.ok("error");
}
}
Mapper文件
<select id="SearchCommodity" resultType="string" resultMap="BaseResultMap">
select
c.product_id,
c.product_name,
c.product_content,
s.product_specs,
s.product_price,
d.product_simg
from commodity c
cross join Standard s
on c.product_id=s.product_id
cross join dommodityAttribute d
on c.product_id=d.product_id
where c.product_name like concat('%',#{productName},'%') group by c.product_id
</select>