Tag Archives: insert

[ibatis/oracle] 내장 반복문을 통해 대량(배치, batch) insert 를 하는 샘플

By | 10월 21, 2021

Mybatis 아니고, 골동품인 Ibatis 입니다. 생각지도 못한 에러들이 나와서 (ora-00933 등..) 삽질을 했네요. (시간 아깝 ㅠ.ㅡ) <insert id="BatchDAO.insertMemberRest" parameterClass="java.util.HashMap"> INSERT ALL /* BatchDAO.insertMemberRest */ <iterate property="mberList" conjunction=" "> INTO COMTNGNRLMBERREST ( MBER_ID, PASSWORD ) VALUES ( #mberList[].MBER_ID#, #mberList[].PASSWORD# ) </iterate> SELECT * FROM DUAL </insert> 그런데 하다 보니 이것도 조심해야 할 것 같다는 생각이 들었다.… Read More »

[MySQL/MariaDB] 동일한 데이터가 없을 경우는 INSERT, 있을 경우에는 UPDATE (ON DUPLICATE KEY – 오라클의 MERGE INTO 같은)

By | 8월 16, 2021

Oracle의 MERGE INTO 문의 경우 동일 데이터에 대한 판단 기준을 개발자가 쿼리에 명시하는 데 반해, MySQL 계열에서는 조건을 따로 받지 않고 Unique Index를 사용하는 것 같다. (추측임) INSERT INTO tb_sample ( col1 , col2 , col3 ) VALUES ( 'AAA' , 'BBB' , 'CCC' ) ON DUPLICATE KEY UPDATE col2 = 'XXX', col3 = 'YYY'… Read More »

MyBatis insert 문 사용시 PK 획득하기 (useGeneratedKeys)

By | 9월 25, 2021

mybatis query xml <insert id="insertBook" useGeneratedKeys="true" keyProperty="bookId"> INSERT /* insertBook */ INTO book ( book_title ) VALUES ( #{bookTitle} ) </insert> 쿼리 이후 result 객체가 아닌 parameter 객체에서 bookId 를 참조하면 PK 획득. 이 테이블의 PK는 book_id 이지만 auto increment 이기 때문에 쿼리에는 기재되지 않았음. 대신 keyProperty 에 프로퍼티명이 명시되어 있음 mybatis config에 mapUnderscoreToCamelCase 가… Read More »