본문 바로가기
728x90

트랜잭션2

Chapter 8. DB 연동 JDBC를 사용하면 코드에는 디비 연동과 관련된 보일러플레이트가 존재한다. 이 단점을 없애기 위해 스프링은 템플릿 메서드 패턴과 전략 패턴을 엮은 JdbcTemplate을 제공한다. 또 한, 트랜잭션 관리를 쉽게 제공한다. 순수 JDBC API를 사용해 트랜잭션을 처리하려면 다음과 같은 과정이 필요하다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 public void insert(Member member) { Connection connection = null; PreparedStatement preparedStatement = null; try { connection = Drive.. 2022. 5. 24.
트랜잭션(Transaction) 트랜잭션은 작업의 완전성을 보장해준다. 논리적인 작업 셋을 모두 완벽하게 처리하지 못했을 경우 원 상태로 복구해서 작업의 일부만 적용되는 현상이 발생하지 않게 만들어준다. MySql에서는 InnoDB 스토리지 엔진이 트랜잭션을 지원하며 MyISAM, MEMORY 스토리지 엔진은 트랜잭션을 지원하지 않는다. 트랜잭션은 반드시 여러 개의 변경 작업을 수행하는 쿼리가 조합돼야 하는 것은 아니다. 하나의 논리 적인 작업 셋에 하나 이상의 쿼리가 적용될 수 있다. 트랜잭션의 특징 원자성(Atomicity) 트랜잭션이 DB에 모두 반영이 되던가, 모두 되지 않아야 한다. 부분적으로 반영된다면 값을 예측할 수 없게 된다. 일관성(Consistency) 작업 처리 결과는 항상 일정해야 한다. 트랜잭션이 진행되는 동안 .. 2022. 5. 1.
728x90