public interface InsertMapper {
/* 리스트 저장 */
int insertList(ReqDTO reqDTO);
}
자바에서 DTO에 담아보낸 List를 foreach를 이용하여 한번에 저장
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.batch.mapper.InsertMapper">
<!-- 리스트 저장 -->
<insert id="insertList" parameterType="ReqDTO">
/*!com.batch.mapper.InsertMapper.insertList*/
INSERT
INTO
TBL_A
(
COL_1
, COL_2
, COL_3
)
SELECT
SEQ_A.NEXTVAL /* 시퀀스 사용 컬럼 */
, A.COL_2
, A.COL_3
FROM
(
<foreach collection="selectList" item="item" separator="UNION ALL">
SELECT
#{item.col1} AS COL_2
, #{item.col2} AS COL_3
FROM
DUAL
</foreach>
) A
</insert>
</mapper>