Получение обновлений имеет значение для пакетной вставки / обновления в ibatis - PullRequest
3 голосов
/ 19 октября 2011

Использование последней версии mybatis. Есть картограф и DAO. Делаем пакетные вкладыши. Это работает, но я хочу знать, сколько строк было вставлено. В JDBC я могу получить количество обновлений в виде массива int. Как я могу получить это в mybatis / ibatis?

Mapper..
@Insert(NEW_ORDER)
int create(final OrderBatch order); // represents one row to insert

DAO...
    public int createOrders(SqlSession session, List<OrderBatch> orders) {
        OrderBatchMapper mapper = session.getMapper(OrderBatchMapper.class);
        for (OrderBatch order : orders) {
     // HOW CAN I GET THE int[] or int of update count?
            i = mapper.create(order);
        }
        return i;
    }

Спасибо

1 Ответ

1 голос
/ 20 мая 2012

При использовании пакетов операторы выполняются, когда транзакция заканчивается или когда вызывается flushStatements.

Выполнение этого

List<BatchResult> results = session.flushStatements();

Должно работать для вас.

...