< 스프링 DB 1편 - 데이터 접근 핵심 원리> 강의를 보고 이해한 내용을 바탕으로 합니다.애플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관한다.클라이언트가 애플리케이션 서버를 통해 데이터를 저장하거나 조회하면 애플리케이션 서버는 다음 과정을
< 스프링 DB 1편 - 데이터 접근 핵심 원리> 강의를 보고 이해한 내용을 바탕으로 합니다.그리고 데이터베이스 커넥션을 획득할 때는 다음과 같은 복잡한 과정을 거친다.애플리케이션 로직은 DB 드라이버를 통해 커넥션을 조회한다.DB 드라이버는 DB와 TCP/IP
< 스프링 DB 1편 - 데이터 접근 핵심 원리> 강의를 보고 이해한 내용을 바탕으로 합니다.데이터를 저장할 때 단순히 파일에 저장해도 되는데 데이터베이스에 저장하는 이유는 뭘까? 여러 이유가 있지만, 가장 대표적인 이유는 바로 데이터베이스는 트랜잭션이라는 개념을
강의를 보고 이해한 내용을 바탕으로 합니다. 문제점들 애플리케이션 구조 여러가지 애플리케이션 구조가 있지만, 가장 단순하면서 많이 사용하는 방법은 역할에 따라 3가지 계층으로 나누는 것 이다. 프레젠테이션 계층 UI와 관련된 처리 담당 웹 요청과 응답 사용자 요청
< 스프링 DB 1편 - 데이터 접근 핵심 원리> 강의를 보고 이해한 내용을 바탕으로 합니다.트랜잭션을 사용하는 로직을 살펴보면 다음과 같은 패턴이 반복되는 것을 확인할 수 있다.트랜잭션을 시작하고, 비즈니스 로직을 실행하고, 성공하면 커밋하고, 예외가 발생해서
< 스프링 DB 1편 - 데이터 접근 핵심 원리> 강의를 보고 이해한 내용을 바탕으로 합니다.Object : 예외도 객체이다. 모든 객체의 최상위 부모는 Object 이므로 예외의 최상위 부모도 Object 이다. Throwable : 최상위 예외이다. 하위에 E
< 스프링 DB 1편 - 데이터 접근 핵심 원리> 강의를 보고 이해한 내용을 바탕으로 합니다.서비스 계층은 가급적 특정 구현 기술에 의존하지 않고, 순수하게 유지하는 것이 좋다. 이렇게 하려면 예외에 대한 의존도 함께 해결해야한다.예를 들어서 서비스가 처리할 수
DataSource : 커넥션을 획득하는 방법을 추상화. DB와의 커넥션을 가져옴업로드중..커넥션 풀 : 커넥션을 미리 생성해두고 사용. 커넥션 조회 -> 획득 -> 사용 -> 반환 ex) hikariCP트랜잭션 매니저 : 트랜잭션 관리해주는 애. 스프링 트랜잭션 추상
강의를 보고 이해한 내용을 바탕으로 합니다. MyBatis MyBatis는 JdbcTemplate보다 더 많은 기능을 제공하는 SQL Mapper 이다. 기본적으로 JdbcTemplate이 제공하는 대부분의 기능을 제공한다. JdbcTemplate과 비교해서 MyB
강의를 보고 이해한 내용을 바탕으로 합니다.
< 스프링 DB 2편 - 데이터 접근 활용 기술> 강의를 보고 이해한 내용을 바탕으로 합니다.트랜잭션이 둘 이상 있을 때 어떻게 동작하는지 자세히 알아보고, 스프링이 제공하는 트랜잭션 전파(propagation)라는 개념도 알아보자.이번에는 트랜잭션이 각각 따로
< 스프링 DB 2편 - 데이터 접근 활용 기술> 강의를 보고 이해한 내용을 바탕으로 합니다.상황서비스 계층에 트랜잭션이 없다.회원, 로그 리포지토리가 각각 트랜잭션을 가지고 있다.회원 리포지토리는 정상 동작하지만 로그 리포지토리에서 예외가 발생한다.MemberS