징징이희수
161
2020-05-23 19:55:56
3
110

Spring Mybatis를 사용하여 쿼리 작성 시..


안녕하세요. Spring MVC Project를 진행중입니다..


board  { bid, category_code, content }

category { category_code, category_name }

테이블 구조입니다. 현재 각 카테고리별로 board에 데이터가 몇개있는지 통계가 필요해서 

쿼리를 짜놨는데 mybatis로 호출해서 view단에서 jstl로 부르려니까 count를 못부르고있습니다.. ㅠ


mapper.xml

<select id="homeCategoryList" resultType="categoryDTO">
	 	SELECT
	 		c.category_code
	             ,	c.category_name
	 	     ,	count(*)
	 	  FROM	category c
	 	 INNER 	JOIN board b
	 	  	ON c.category_code=b.category_code
	 	 GROUP	BY c.category_code, c.category_name
 </select>

jsp

<c:forEach items="${homeCategoryList}" var="homeCategoryList">
   ${homeCategoryList.category_name}
</c:forEach>

카테고리 코드, 카테고리 이름은 나오는데 COUNT를 어떻게 매칭해야 부를 수있는지 모르겠습니다 ㅠㅠ

선배넴들 도와주세요 ㅠ!!

0
0
  • 답변 3

  • John Suhr
    2k
    2020-05-23 20:55:33

    count(*)이면 어느걸 카운트할지 모르지 않을까요?

    count(c.category_code)


    0
  • 준호
    49
    2020-05-23 21:51:49


    categoryDTO의 int형 변수 선언하시고 그 변수 이름에 맞춰서 count(*) 에 Alias 주시면 됩니다.


    Integer cnt; 이런식으로 추가하셨으면 


    SELECT

    c.category_code

                 , c.category_name

         , count(*) as cnt

      FROM category c

    INNER JOIN board b

      ON c.category_code=b.category_code

    GROUP BY c.category_code, c.category_name


    이런 식으로요 

    0
  • 징징이희수
    161
    2020-05-24 12:13:49

    John Suhr , 준호  답변감사합니다.!

    count로 별칭 주니까 됬네요 ㅎㅎ 그전에도 이 생각을 하긴했었는데

    아무생각 없이 테이블에도없는 c.count 라고 쿼리를 던지고있어서 에러가 났었는데

    쉽게 해결됬습니다 감사합니다 !

    1
  • 로그인을 하시면 답변을 등록할 수 있습니다.