[Spring DB] 트랜잭션 전파 활용
Back-End/Spring2024. 4. 11. 00:42[Spring DB] 트랜잭션 전파 활용

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 예제 프로젝트 더보기 Member @Entity @Getter @Setter public class Member { @Id @GeneratedValue private Long id; private String username; public Member() { } public Member(String username) { this.username = username; } } MemberRepository @Slf4j @Repository @RequiredArgsConstructor public class MemberRepository { private final EntityManager em; @Transacti..

[Spring DB] 트랜잭션 전파
Back-End/Spring2024. 4. 10. 00:33[Spring DB] 트랜잭션 전파

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.기본적인 트랜잭션 커밋, 롤백 application.propertieslogging.level.org.springframework.transaction.interceptor=TRACElogging.level.org.springframework.jdbc.datasource.DataSourceTransactionManager=DEBUG#JPA loglogging.level.org.springframework.orm.jpa.JpaTransactionManager=DEBUGlogging.level.org.hibernate.resource.transaction=DEBUG#JPA SQLlogging.level.org.hib..

[Spring DB] 스프링 트랜잭션의 이해
Back-End/Spring2024. 4. 6. 07:20[Spring DB] 스프링 트랜잭션의 이해

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 2024.03.02 - [Java Category/Spring] - [Spring DB] 트랜잭션 AOP [Spring DB] 트랜잭션 AOP 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 트랜잭션 AOP(Aspect-Oriented Programming)는 스프링 프레임워크가 트랜잭션 관리를 위해 제공하는 선언적 트 rebugs.tistory.com 위 포스트와 관련있습니다. 트랜잭션 적용 확인 @Transactional 을 통해 선언적 트랜잭션 방식을 사용하면 단순히 애노테이션 하나로 트랜잭션을 적용할 수 있다. 그런데 이 기능은 트랜잭션 관련 코드가 눈에 보..

[Spring DB] MyBatis
Back-End/Spring2024. 4. 3. 00:30[Spring DB] MyBatis

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. MyBatis 소개와 장점 및 단점 MyBatis는 자바(JAVA) 언어로 작성된 오픈 소스 SQL 매핑 프레임워크이다. JDBC(Java Database Connectivity) 위에 구축되어 데이터베이스와의 상호작용을 추상화하며, 개발자가 SQL 문을 직접 제어할 수 있게 해주는 특징을 가진다. 이는 개발자가 객체와 SQL 문 사이의 매핑을 설정하여, 데이터베이스 작업을 더 쉽고 직관적으로 할 수 있게 돕는다. MyBatis의 주요 기능 SQL 분리: MyBatis는 SQL을 자바 코드에서 분리하여 XML 파일이나 어노테이션에 작성하도록 한다. 이로써, SQL 관리가 용이하고 가독성이 높아진다. 동적 SQL..

[Spring DB] 데이터 접근 계층 테스트
Back-End/Spring2024. 4. 2. 00:46[Spring DB] 데이터 접근 계층 테스트

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. @SpringBootTest와 @SpringBootApplication @SpringBootApplication @SpringBootApplication은 Spring Boot 애플리케이션의 주 진입점에 위치하는 어노테이션이다. 이 어노테이션은 @Configuration, @EnableAutoConfiguration, @ComponentScan 어노테이션들의 기능을 합친 것으로, Spring Boot 애플리케이션을 자동 설정하고, 애플리케이션 컨텍스트에서 빈을 검색하며, 추가적인 설정을 로드하는 역할을 한다. 기본적으로, 이 어노테이션이 붙은 클래스는 애플리케이션의 메인 클래스로, 애플리케이션 실행 시 스프링 ..

[Spring DB] SimpleJdbcInsert
Back-End/Spring2024. 4. 1. 00:18[Spring DB] SimpleJdbcInsert

SimpleJdbcInsert는 Spring Framework에서 제공하는 JDBC 추상화의 일부로, 데이터베이스에 새로운 레코드를 삽입하는 작업을 단순화하고 편리하게 만들어준다. NamedParameterJdbcTemplate과 유사하게, SimpleJdbcInsert는 이름이 지정된 파라미터를 사용하여 SQL 쿼리 없이 데이터베이스 테이블에 직접 삽입할 수 있게 해준다. 이를 통해 코드의 가독성이 향상되고, SQL 쿼리 실수를 줄일 수 있다. 설정 방법 SimpleJdbcInsert는 DataSource를 사용하여 생성될 수 있다. 생성 후, 사용할 데이터베이스 테이블과 해당 테이블의 기본 키 컬럼을 설정할 수 있다. @Autowired private DataSource dataSource; priv..

[Spring DB] NamedParameterJdbcTemplate
Back-End/Spring2024. 3. 31. 00:40[Spring DB] NamedParameterJdbcTemplate

NamedParameterJdbcTemplate은 Spring Framework의 JDBC 접근 방법 중 하나로, JdbcTemplate과 유사하게 작동하지만, SQL 파라미터를 이름으로 지정할 수 있다는 주요 차이점이 있다. 이는 코드의 가독성을 높이고, SQL 쿼리의 파라미터를 더 명확하게 만드는 데 도움을 준다. CRUD 설정 NamedParameterJdbcTemplate 인스턴스를 생성해야 한다. 이는 보통 DataSource를 주입하여 생성된다. @Autowired private DataSource dataSource; private NamedParameterJdbcTemplate jdbcTemplate; @PostConstruct public void postConstruct() { jdbc..

[Spring DB] JDBC Template
Back-End/Spring2024. 3. 29. 00:27[Spring DB] JDBC Template

공식 메뉴얼 https://docs.spring.io/spring-framework/docs/current/reference/html/data-access.html#jdbc- JdbcTemplate DataSource 설정 JDBC Template 사용을 위해서는 데이터베이스와의 연결을 관리하는 DataSource를 설정해야 한다. application.properties spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.username=yourName spring.datasource.password=yourPassword 이렇게 하면 내부적으로 DataSource 빈을 자동으로 생성하고 구성합니다. JdbcTemplate 인스..

image