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