본문 바로가기
Today I learned

Mybatis 동적쿼리작성

by soheemon 2019. 3. 22.

foreach를 사용하고 collection에 list아니면 array가 와야한다! 딴거넣지마! 넣지말람 넣지마!

파라미터 이름은 맞춰주지 않아도 상관 없고..

item은 그러니까.. List로 받은 값 하나하나를 분리해서 받는다. 그냥 Alias라고 보면 될듯.


Mybatis 사용시, 주의사항은

너무나 당연하지만, sqlDeveloper에서 먼저 돌려보라는것...

당연한거지만 가끔 급하면 Mapper작업을 먼저 하게된다.


<select id="companyProduct" resultType="Map" parameterType="java.util.List" >

select product_company_name, product.product_count from product_company

inner join

(select product_company_cd, count(product_company_cd) product_count from

product

group by product_company_cd

having product_company_cd in

<foreach collection="list" item="item" open="(" close=")" separator=",">

#{item}

</foreach>

) product

on product_company.product_company_cd = product.product_company_cd

</select>


댓글