🌱 Spring/DB 접근 기술

본 포스팅은 [인프런] 스프링 DB 1편 - 데이터 접근 핵심 원리 강의를 바탕으로 공부하고 정리한 글입니다. 트랜잭션 커밋, 롤백 트랜잭션 전파에 대해 알아보기 이전에 간단한 트랜잭션 코드를 통해 트랜잭션이 어떻게 동작하는지 확인해보자. @Slf4j @SpringBootTest class BasicTxTest { @Autowired PlatformTransactionManager txManager; @TestConfiguration static class Config { @Bean public PlatformTransactionManager transactionManager(DataSource dataSource) { return new DataSourceTransactionManager(dataSou..
본 포스팅은 [인프런] 스프링 DB 2편 - 데이터 접근 활용 기술 강의를 바탕으로 공부하고 정리한 글입니다. 스프링 트랜잭션 스프링 트랜잭션 사용 방식 1. 선언적 트랜잭션 관리 @Transactional 애노테이션을 선언해 트랜잭션을 적용 해당 로직에 트랜잭션을 적용하겠다고 선언하기만 하면 트랜잭션이 적용되는 방식 2. 프로그래밍 방식 트랜잭션 관리 트랜잭션 매니저 또는 트랜잭션 템플릿 등을 사용해 트랜잭션 관련 코드를 직접 작성하는 방식 프로그래밍 방식의 트랜잭션 관리를 사용하면, 애플리케이션 코드가 트랜잭션이라는 기술 코드와 강하게 결합되기 때문에 실무에서는 대부분 선언적 트랜잭션 관리를 사용한다. 스프링이 제공하는 트랜잭션 AOP 스프링은 트랜잭션 AOP를 처리하기 위한 모든 기능을 제공한다. ..
본 포스팅은 [인프런] 스프링 DB 2편 - 데이터 접근 활용 기술 강의를 바탕으로 공부하고 정리한 글입니다. 데이터 접근 기술 SQL Mapper 기술 개발자가 SQL만 작성하면 해당 SQL의 결과를 객체로 편하게 매핑해준다. JDBC를 직접 사용할 때 발생하는 여러가지 중복을 제거해주고, 기타 개발자에게 여러 편리한 기능을 제공해준다. 예) Jdbctemplate, MyBatis ORM 관련 기술 SQL Mapper 기술은 SQL을 개발자가 직접 작성해야 하지만, JPA는 기본적인 SQL을 대신 작성하고 처리해준다. 따라서 개발자는 저장하고 싶은 객체를 마치 자바 컬렉션에 저장하고 조회하듯이 사용하면 ORM 기술이 데이터베이스에 해당 객체를 저장하고 조회해준다. 예) JPA, Hibernate, 스프..
본 포스팅은 [인프런] 스프링 DB 1편 - 데이터 접근 핵심 원리을 강의를 바탕으로 공부하고 정리한 글입니다. 커넥션 풀이란? 웹 컨테이너(WAS)가 실행되면 일정량의 커넥션을 미리 만들어 pool에 보관했다가, 클라이언트 요청이 오면 자신이 가지고 있는 커넥션을 빌려주고 임무가 완료되면 다시 커넥션을 반납 받아 pool에 보관하는 프로그래밍 기법이다. 기존에 데이터베이스에 접근하기 위한 커넥션을 획득하기 위해서는 다음과 같은 과정을 거친다. 애플리케이션 로직은 DB 드라이버를 통해 커넥션을 조회 DB 드라이버는 DB와 TCP/IP 커넥션을 연결 (이때 3 way handshake 같은 TCP/IP 연결을 위한 네트워크 동작 발생) DB 드라이버는 TCP/IP 커넥션이 연결되면 ID, PW 같은 부가정..
an2z
'🌱 Spring/DB 접근 기술' 카테고리의 글 목록