[MyBatis] 다중 insert, 여러 데이터 한 번에 insert 시키기

2023. 1. 26. 17:27Dev.Program/SpringBoot

728x90

Mybatis 호출할 때

<insert id="insert" parametertype="java.util.Map">
        insert into info(email, name)
        values
        <foreach collection="list" item="item" separator=" , ">
            (#{item.email}, #{item.name})
        </foreach>
 </insert>
  • collection : 파라미터로 넘어온 map 안에 list
  • item : collection을 사용할 변수명
  • seperator : 반복 문자열을 구분할 문자

foreach 문에 넣어주면 알아서 돈다!

실제 날리는 쿼리는

insert into info(email, name) values("email1", "name1"), ("email2", "name2"), ("email3", "name3");

이런식으로 values 에 리스트가 한 번에 들어가서 insert 한 방에 데이터 여러개를 처리할 수 있다!

 

728x90