Я хочу обновить базу данных mysql весной mybatis. У меня есть пара интерфейсов mapper и вы хотите выполнить обновление, используя sqlsession.commit(). Как я могу определить каждый из sqlsession?Как использовать sqlsession для обновления mysql
@Transactional
public BookingRecord book(Person person, Hotel hotel, String id) {
List<Room> rooms = hotel.getRooms();
for (Room room : rooms) {
if (room.isAvailable()) {
if (person.getBalance() > room.getPrice()) {
// 开始订房
room.setAvailable(false); // 保留房间
person.setId(id);
person.setBalance(person.getBalance() - room.getPrice()); //转账
hotel.setBalance(hotel.getBalance() + room.getPrice()); //转账2
BookingRecord r = new BookingRecord(); //生成订单
r.setHotelName(hotel.getName()); //记录酒店名
r.setRoomNumber(room.getRoomNumber()); //记录房间号
r.setPersonId(person.getId()); //记录客人id
r.setStartDate(new Date());
personMapper.update(person);
brMapper.create(r);
hotelMapper.updateBalance(hotel);
roomMapper.update(room);
return r;
}
}
}
log.info(person.getName() + "successfully booked at " + hotel.getName());
return null;
}