Как я могу сделать пакетную вставку, используя аннотации ibatis

Я не могу найти учебник по этому вопросу, и я нахожу документацию скудной. Как я могу сделать пакетную вставку, используя аннотации ibatis?

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);
    }
}

Я сделал эту наивную реализацию (на удивление без успеха:-):

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

2 ответа

iBatis аннотация вставить массовую запись вы можете сделать так

 @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);

Это работа для меня, и я вставил массовую запись в свою базу данных PostgreSQL, используя единственную вставку выше.

Это без аннотации, согласно документации, ваш путь кажется правильным.

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();
  }
Другие вопросы по тегам