package io.spring.guides.managing_transactions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
public class BookingService {
private static final Logger LOGGER = LoggerFactory.getLogger(BookingService.class);
@Autowired
JdbcTemplate jdbcTemplate;
@Transactional
public void book(String... persons) {
for (String person : persons) {
LOGGER.info("Booking person {} in a seat...", person);
jdbcTemplate.update("INSERT INTO BOOKINGS(FIRST_NAME) VALUES (?)", person);
}
}
public List<String> findAllBookings() {
return jdbcTemplate.query("SELECT FIRST_NAME FROM BOOKINGS", (rs, rowNum) -> {
return rs.getString("FIRST_NAME");
});
}
}