DB(10)
-
[DB 접근 기술] 트랜잭션 이해
트랜잭션 - 개념 이해 데이터를 저장할 때 파일이 아니라 DB에 저장하는 이유는 무엇일까 가장 대표적인 이유로 DB는 트랜잭션이라는 개념을 지원하기 때문이다. 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻한다. 이는 생각보다 고려해야 할 점이 많다. A가 B에게 5000원을 송금한다면, A의 잔고를 5천원 감소하고, B의 잔고를 5천원 증가해야 한다. 이 과정이 하나의 트랜잭션 안에서 이루어져야 한다. 1. A의 잔고 5천원 감소 2. B의 잔고 5천원 증가 만약 1번은 성공했는데 2번에서 시스템 문제가 발생한다면 A의 돈만 파쇄된 것이다. DB가 제공하는 트랜잭션 기능을 사용하면 1,2 둘 다 성공해야 저장하고 둘 중에 하나라도 실패하면 거래 전의 상태로 돌아갈 수 있다. 모든 작업이..
2022.05.27 -
[DB 접근 기술] 커넥션 풀과 데이터 소스 이해 - DataSource 이해
DataSource 이해 커넥션을 얻는 방법은 다양하다. JDBC DriverManager로 신규 커넥션을 생성하거나, HikariCP등의 커넥션 풀을 사용해도 된다. 만약 JDBC DriverManager를 통해 커넥션을 획득하다가, 커넥션 풀을 사용하는 방법으로 변경하려면 어떻게 해야 될까? 의존관계가 DriverManager에서 커넥션 풀로 변경되었으므로 애플리케이션 코드도 함께 변경해야 한다. 둘의 사용법이 다르기 때문이다. 하지만 자바는 커넥션을 획득하는 방법을 추상화하였다. 자바는 javax,sql.DataSource라는 표준 인터페이스를 제공한다. 이 DataSource는 커넥션을 획득하는 방법을 추상화 하는 인터페이스다. 핵심 기능은 커넥션 조회뿐이다. public interface Dat..
2022.05.25 -
[DB 접근 기술] 데이터베이스 연결
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1# 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 김영한 강사님의 인프런 강의를 수강 후 블로그에 정리해서 포스팅합니다. 애플리케이션과 데이터베이스를 연결한다. DB 접속에 필요한 기본 정보를 쉽게 사용하도록 상수로 정의한다. public abstract class ConnectionConst { public static final String UR..
2022.05.25 -
[DB 접근 기술] JDBC 이해
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1# 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 김영한 강사님의 인프런 강의를 수강 후 블로그에 정리해서 포스팅합니다. JDBC(Java Database Connectivity)란 JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API다. JDBC의 등장 배경 JDBC는 표준 인터페이..
2022.05.25