쿼리문을 category_id와 count 두개를 받는 쿼리를 짰는데 int 하나만 달라고 해서 생긴 에러였음
리턴값을 잘 확인하자.
Incorrect column count expect 1 actual 2;
SELECT_NUMBER_OF_PRODUCT_COUNT_FROM_CATEOGORY = "select COUNT(*) from category join product on category.id category.id = product.category_id where category_id = :category_id group by category_id;";
SELECT_NUMBER_OF_PRODUCT_COUNT_FROM_CATEOGORY = "select category_id, COUNT(*) from category join product on category.id category.id = product.category_id where category_id = 1 group by category_id";
public Integer selectCount(Integer category_id) {
try {
Map<String,Integer> params = Collections.singletonMap("category_id", category_id);
return (Integer)jdbc.queryForObject(SELECT_NUMBER_OF_PRODUCT_COUNT_FROM_CATEOGORY, params, Integer.class);
}catch (EmptyResultDataAccessException e){
e.printStackTrace();
return 0;
}
}