Как я могу сделать пакетную вставку, используя аннотации 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();
}