You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@OverridepublicOptional<Member> findById(Longid) {
List<Member> result = jdbcTemplate.query("select * from member where id = ?", memberRowMapper(), id);
returnresult.stream().findAny();
}
엄청나게 JDBCTemplate와 순수 JDBC는 큰 차이가 생긴다. 코드 가독성부터가 확연히 차이난다는 것을 알 수 있다.
5️⃣JPA
요즘 가장 많이 인기를 끌고 있는 JPA는 꼭 배워야한다
기존의 반복 코드는 JPA에서 만들어주고, 기본적인 SQL도 JPA가 직접 만들어서 실행해준다.
JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환 할 수 있다.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
6. 스프링 DB 접근 기술
1️⃣H2 데이터베이스 설치
실무에서는 Mysql, Oracle, mariaDB 등을 많이 사용하지만 여기서는 연습이기 때문에 설치도 쉽고 무게도 가벼운 H2를 이용한다.
H2를 다운받는다.
실행한다. →
./h2.sh2️⃣순수JDBC
Java는 DB에 접근하기 위해서는 JDBC가 무조건적으로 필요하다.
과거에는 순수 JDBC로 DB로 접근했던 시기가 있다고한다.. 정말 대단하다.
SpringConfig 추가
위의 내용을 정리하자면, 스프링 DI(Dependencies Injection)을 사용하면 기존 코드를 건들지 않고, 설정만으로 구현 클래스를 변경할 수 있다.
3️⃣스프링 통합 테스트
@SpringBootTest: 스프링 컨테이너와 테스트를 함께 실행한다.@Transactional: 테스트 케이스에 이 애노테이션이 있으면, 테스트 시작 전에 트랜잭션을 시작하고, 테스트 완료 후에 항상 롤백한다. 이렇게 하면 DB에 데이터가 남지 않으므로 다음 테스트에 영향을 주지않음.4️⃣스프링 JdbcTemplate
순수 JDBC
JDBCTemplate
엄청나게 JDBCTemplate와 순수 JDBC는 큰 차이가 생긴다. 코드 가독성부터가 확연히 차이난다는 것을 알 수 있다.
5️⃣JPA
➡️JPA 환경 설정
➡️JPA 엔티티 매핑
➡️JPA 회원 리포지토리
➡️서비스 계층에 트랜잭션 추가
커밋한다. 만약 런타임 예외가 발생하면 롤백한다.
6️⃣스프링 데이터 JPA
➡️스프링 데이터 JPA 제공 클래스
Beta Was this translation helpful? Give feedback.
All reactions