본문 바로가기

데이터베이스

(3)
트랜잭션 트랜잭션은 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위이다. 성질 Atomicity - 원자성 트랜잭션의 연산은 데이터베이스에 모두 반영, 혹은 반영되지 않아야 한다. 트랜잭션 내의 모든 명령이 완벽히 수행되어야 하며, 무엇 하나라도 오류가 발생하면 전부 취소되어야한다. Consistency - 일관성 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다. 트랜잭션이 진행되는 동안 데이터베이스가 변경되어도 업데이트된 데이터베이스로 트랜잭션이 진행되는 것이 아니라 처음 트랜잭션을 실행할 때의 참조한 데이터베이스로 진행된다. Isolation - 독립성 둘 이상의 트랜잭션이 동시에 실행될 경우 어느 하나의 트랜잭션이 다른 트랜잭션의 연산에 관여할 수 없다. Durablility - 지속성 성..
DataSource와 커넥션 풀 커넥션 풀은 Connection 객체를 매번 새로 생성하는 것이 아닌, 서버에서 미리 생성된 커넥션이 필요할 때마다 사용할 수 있게 하는 기술이다. DataSource는 커넥션 풀을 사용할 수 있게 하는 객체로, 이를 통해 필요한 커넥션을 획득하고 반납한다. private final DataSource dataSource; public MemberRepositoryV1(DataSource dataSource) { this.dataSource = dataSource; } DataSource를 활용한 getConnection() private Connection getConnection() throws SQLException { Connection con = dataSource.getConnection();..
JDBC 등록, 조회, 수정, 삭제 Java Database Connectivity의 약자 JDBC는 자바에서 데이터베이스에 접속할 수 있게 하는 자바 API로, 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. 김영한 강사님의 강의를 보며 학습하였고, H2 데이터베이스를 사용했다. JDBC 등록 public Member save(Member member) throws SQLException { String sql = "insert into member(member_id, money) values(?, ?)"; Connection con = null; PreparedStatement pstmt = null; try { con = getConnection(); pstmt = con.prepareStatement(sql); ps..