꾸준히 기록하자

[Mybatis] Insert Multiple Rows 본문

IT/Mybatis

[Mybatis] Insert Multiple Rows

seungwonlee 2023. 3. 6. 13:56
728x90

JAVA 정규식을 통해 데이터를 분석하여 패턴에 일치한 데이터와 불일치한 데이터 count 하는 로직에 추가적으로 불일치 데이터는 DB에 저장하는 로직을 구현해야 했습니다.

 

처음엔 불일치한 데이터가 발생할 때마다 insert 했었는데 분석을 완료하는 데에 있어서 처리 속도가 매우 느려져 불일치 데이터들을 모아서 한 번에 처리하는 로직으로 변경했습니다.

 

변경하면서 동적 쿼리인 foreach문을 알게 되어 아래 예제 코드 블록과 같이 작성해 처리 속도 개선에 도움이 되었습니다.

insert into TEST_INFO
(
    test_sn
    , test_nm
    , test_data_value
)
values
<foreach collection="list" item="item" separator=",">
(
    #{item.testSn}
    , #{item.testNm}
    , #{item.testDataValue}
)
</foreach>

끝.

반응형
Comments