SQL/iBatis, MyBatis
[ibatis] select, update, delete에 iterate 사용 방법
도미노&
2017. 3. 18. 16:03
sql 툴에서 날리는 원문 쿼리를 보면 이해가 쉽다.
보통의 경우 리스트(#[]#로 표현되는)에 담겨오는 data1, data2, data3, ... 은 key값이 된다.
■ select iterate 사용 방법
# 원문 쿼리
1 | SELECT * FROM TBLNAME WHERE COLUMNNAME IN ('data1','data2','data3') | cs |
# iterate 작성
- data1, data2, data3이 List에 담겨서 넘어온다. #[]# 부분
1 2 3 4 5 6 | <select id="select " parameterClass="java.util.List"> SELECT * FROM <iterate open="(" close=")" conjunction="," prepend="WHERE COLUMNNAME IN "> #[]# </iterate> </select > | cs |
■ delete iterate 사용 방법
# 원문 쿼리
1 | DELETE FROM TBLNAME WHERE COLUMNNAME IN ('data1','data2','data3') | cs |
# iterate 작성
1 2 3 4 5 6 | <delete id="delete" parameterClass="java.util.List"> DELETE FROM TBLNAME <iterate open="(" close=")" conjunction="," prepend="WHERE COLUMNNAME IN "> #[]# </iterate> </delete> | cs |
■ update iterate 사용 방법
# 원문 쿼리
1 | UPDATE TBLNAME SET COLUMNNAME = 'VALUE' WHERE COLUMNNAME IN ('data1','data2','data3') | cs |
# iterate 작성
1 2 3 4 5 6 | <update id="update" parameterClass="java.util.List"> UPDATE TBLNAME SET COLUMNNAME = 'VALUE' <iterate open="(" close=")" conjunction="," prepend="WHERE COLUMNNAME IN "> #[]# </iterate> </update> | cs |