programming 2

[DB Programming] MyBatis, MyBatis 설정, SqlSessionFactory, SqlSession, Mapper XML, Mapper interface

MyBatis Data Mappers 객체와 데이터베이스 사이에 데이터를 이동시킴 (moves data between objects and a database) 객체와 데이터베이스가 서로 독립적이고 mapper에 대해서도 독립적 (while keeping them independent of each other and the mapper itself) 특징 SQL에 대한 고수준 mapping을 지원하는 영속성 프레임워크 (persistence framework) JDBC API를 이용하는 코드들을 생략 가능 (구현 불필요) SQL 질의에 대한 파라미터 설정 및 결과 처리 수행 XML과 annotation을 이용한 mapping 설정 방법 지원 Java의 기본 타입 값(primitive-type value)..

[DB Programming] Transaction 처리, Database Connection Pool

트랜잭션 처리 트랜잭션이란? 데이터 처리를 위한 논리적인 작업 단위 일반적으로 여러 개의 DML문과 질의문들로 구성될 수 있음 All or Nothing 방식으로 처리 오류가 없을 경우 실행이 완료(commit) 되고 그 결과가 데이터베이스에 영속적으로 유지됨 오류 발생 시 모든 DML문들의 실행 결과가 취소됨 ACID 속성을 만족해야 함 (사실 ACID 속성 만족은 DBMS가 해주기 때문에 트랜잭션만 잘 구성하면 된다) Atomicity (원자성) Consistency (일관성) Isolation (고립성) : 같은 데이터에 동시 접속하고 변경하면 안 되는 것을 말하는데 만약 1000개의 DML문으로 구성된 트랜잭션이라면 완벽하게 따로 실행시킬 수는 없다. 동시성을 위해 같이 실행되지만 결과는 서로 간..