양치치의 아카이브

ON DUPLICATE KEY. insert, update 통합 구조 본문

코린이의 자바 일기장/자바 스프링 노트

ON DUPLICATE KEY. insert, update 통합 구조

넥타르 2022. 7. 7. 11:16

insert 문과 update를 하나로 통합해서 조건문을 걸어서 사용하는 코드

jsp단에서 value 값에 insert는 I, update는 U 값을 임의로 주고 -> equals("I") 면 인서트에 해당하는 로직수행

> equals("U") 면 update에 해당하는 로직을 수행한다.

 

Controller도 입력,수정 따로 나누지 않고 하나의 url 값을 타고 넘어간다.

service 와 dao 도 역시 입력과 수정이 동시에 하나의 실행문으로 수행된다.

그리고 ...

쿼리에서 입력과 수정이 구분되는데

ON DUPLICATE KEY 라는 mysql의 예약명령어로 중복된 값이 있으면 update문을 실행하고

없으면 insert 를 수행한다.

 

mapper 쿼리 형식은

 

insert into 테이블 (value) select * from ( select #{컬럼}  as {컬럼네임}, ...) s

ON DUPLICATE KEY

update {컬럼} = s.컬럼, ...

 

이런식으로 작성

Comments