728x90
사용법을 알기 위한 삽질시간 : 10분
mysql에 같은 데이터가 여러개 들어갈 수 있도록 테이블을 설계했고 여러개 들어가도 상관없지만 굳이 같은 데이터가 여러개가 필요없기 때문에 하나만 insert 되도록 해야되었다.
INSERT INTO user(
user_id, user_name
) select #{userId}, #{userName}
from users
WHERE NOT EXISTS (
SELECT user_id, user_name FROM users
WHERE user_id = #{userId} and user_name = #{userName}
)
3번째 줄에 select #{userId}, #{userName} 가 insert 될 values 값이다.
참고
dto로 파라미터 사용시 파라미터 개수 매핑 오류 납니다.
전달된 값은 userId, userName 만 필요한데, mapper 파라미터 매핑시 위에 처럼 하면 4개의 파라미터가 넘어오길 바랍니다.
728x90