2014-09-04 2 views
1

이에 대한 자습서를 찾을 수 없으며 설명서가 부족합니다. ibatis 주석을 사용하여 일괄 삽입을 수행하려면 어떻게해야합니까? 이것은 문서에 따르면, 주석없이ibatis 주석을 사용하여 배치 삽입을 수행하는 방법은 무엇입니까?

public class MyTransactionalClass { 
@Transactional(executorType = ExecutorType.BATCH)  
public void insert(MyRecordClass obj) { 
     myTableMapperInst.insert(obj); 
    } 
} 

답변

0

, 당신의 방법은 올바른 것 같다

public interface MyTableMapper { 
    @Insert("insert into MyTable(col1) values (#{valueOfCol1})") 
    void insert(MyRecordClass obj); 
} 


public class MyTransactionalClass { 
    @Transactional 
    public void insert(MyRecordClass obj) { 
     myTableMapperInst.insert(obj); 
    } 
} 

나는 놀라 울 정도로 성공 :-)없이 본 순진 구현을 (했다. 이

@Insert({"<script>", 
     "insert into user_master (first_name,last_name) values ", 
     "<foreach collection='userList' item='user' index='index' open='(' separator = '),(' close=')' >#{user.first_name},#{user.last_name}</foreach>", 
     "</script>"}) 
    int insertUserList(@Param("userList") List<UserNew> userList); 

처럼 할 수

try { 
    sqlMap.startTransaction() 
    List list = (Employee) sqlMap.queryForList("getFiredEmployees", null); 
    sqlMap.startBatch(); 
    for (int i=0, n=list.size(); i < n; i++) { 
     sqlMap.delete ("deleteEmployee", list.get(i)); 
    } 
    sqlMap.executeBatch(); 
    sqlMap.commitTransaction(); 
    } finally { 
     sqlMap.endTransaction(); 
    } 
0

iBatis를 주석 삽입 벌크 기록 그것은 나를 위해 일이고 나는 하나의 삽입 이상 사용하여 내 PostgreSQL 데이터베이스에 대량 기록을 삽입했다.