728x90
반응형
SMALL
백엔드 단에서 반복문 돌면서 insert 할수도 있지만..그방법은 비용면에서 비추고..
mybatis에서 지원하는 foreach 문을 활용..
VO를 던질수도있고 list 자체를 던질수도 있고 여러가지지만..
이번엔 HashMap을 List에 담고 돌려보기로 한다..
//JAVA
HashMap commandMap = new HashMap(); //파라미터로 넘길 맵
List<HashMap> defaultList = new ArrayList<HashMap>();
//리스트에 넣을 데이터들
HashMap map = new HashMap();
map.put("id", "deer1");
map.put("col1", "col1");
// ...
HashMap map2 = new HashMap();
map2.put("id", "deer2");
map2.put("col1", "col1");
// ...
defaultList.add(map);
defaultList.add(map2);
//파라미터에 담고
commandMap.put("defaultList", defaultList);
//mapper로 던진다
deerService.insertForEachTEST(commandMap);
//mapper xml
<insert id="insertDEER" parameterType="java.util.HashMap">
INSERT INTO DBNAME.TABLENAME
(id, col1, col2, col3)
VALUES
<foreach item="item" index="index" collection="defaultList" separator=",">
(#{item.id}, #{item.col1}, #{item.col2}, #{item.col3})
</foreach>
</insert>
백단에서 for문 도는것보다 깔끔하고 커넥션을 한번에 열고 처리해서 좋을것..
728x90
반응형
LIST
'MySQL' 카테고리의 다른 글
mysql group_concat 여러 행의 데이터를 한 컬럼으로 리턴 (0) | 2023.03.14 |
---|---|
[오류] mysql 이모지 com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect string value: '\xF0... (0) | 2023.03.14 |
mysql 테이블, 컬럼 comment 조회 (0) | 2023.03.14 |
키 열 정보를 반환하지 않는 SelectCommand에 대해서는 UpdateCommand에 대한 동적 SQL 생성이 지원되지 않습니다. - 오류 해결 (0) | 2023.03.13 |
sql에서 전화번호 하이픈 적용 (0) | 2023.03.13 |