Я использую spring-boot-auto-configure и mybatis-spring-boot-starter. Теперь я хочу получить количество записей, удаленных, обновленных и вставленных в текущую транзакцию.
Я установил свой тип исполнителя = BATCH.
mybatis.configuration.default-executor-type=BATCH
У меня есть сервис, который выглядит так
@Autowired
SqlSessionTemplate session;
@Transactional
public int processRecords() {
mapper.getData(); //1
mapper.deleteSomeData(); //2
mapper.addSomeData(); //3
mapper.addSomeMoreData(); //4
mapper.updateConnectingTable(); //5
List batchResults = mapper.flush()
}
И такой маппер
public interface Mapper {
//all mappers here
@Flush List flush();
}
Теперь, почему, когда я проверяю значение batchResults, он показывает только BatchResult из addSomeMoreData () и updateConnectingTable ()?
Я попытался очистить после удаления / вставки / обновления функций, но автоматически фиксирует это. Так что, если я сделаю что-то вроде
mapper.deleteSomeData();
List batchResults = mapper.flush()
Я получаю правильные batchResults, но когда я проверяю БД, записи уже удалены. Флеш действительно должен это делать?
Вся помощь очень ценится.