我找不到关于此的教程,而文档也很少。如何使用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);
    }
}

最佳答案

根据文档,这没有注释,您的方式似乎正确。

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

07-25 20:17