티스토리 뷰

MyBatis

<foreach>

Xuniverse 2017. 10. 17. 17:44

DAO

public int insert_Equipment(List<EquipmentVO> equipmentVOList) {
Map<String, List<EquipmentVO>> paramap = new HashMap<>();
paramap.put("equipmentVOList", equipmentVOList);
return sqlSession.insert("Equipment.insert_Equipment", paramap);
}

SQL

<insert id="insert_Equipment" parameterType="map">
INSERT INTO equipment (
equipment_idx,
equipment_info_section,
equipment_info,
unit
)
<foreach collection="equipmentVOList" item="equipment" open="VALUES" separator=",">
(
(SELECT idx FROM equipment WHERE groups_idx = #{equipment.equipment_idx}),
#{equipment.equipment_info_section},
#{equipment.equipment_info},
#{equipment.unit}
)
</foreach>
</insert>


주의.


foreach에서 사용할 List를 Map에 담지 않고 받은 그대로 넘기게 되면 foreach 구문 내에 collection에 리스트 명을 적어줘도 찾지 못함.

때문에 Mapper로 넘기기 전에 Map에 리스트를 담고, collection에는 Map의 Key값을 넣어서 찾아야 함.

'MyBatis' 카테고리의 다른 글

java.sql.SQLException: 부적합한 열 인덱스  (0) 2017.05.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함