Notice
Recent Posts
Recent Comments
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코린이
- 입문자
- 데이터베이스
- 회고
- 회복
- 풀이
- 후기
- 백업과 복원
- KT
- IT's Your Life
- MySQL
- MySQL로배우는데이터베이스개론과실습
- 동시성제어
- KT AIVLE SCHOOL
- Spring
- 답안
- intelij
- sqld
- 미니프로젝트
- 자료구조
- 연습문제
- 문제풀이
- 9기
- Aivle school
- 오리엔테이션
- 트리
- 합격후기
- 에이블스쿨
- 보안과 권한
- 스프링
Archives
- Today
- Total
모둥이의 일지
[스프링] 입문 : 섹션6~7 정리 본문
김영한 선생님의 스프링 강의 입문 섹션6부터 7까지의 내용을 정리해보았습니다.
H2 데이터베이스 설치
- 더보기
개발이나 테스트 용도로 가볍고 편리한 DB로 웹 화면을 제공한다.
- 더보기
https://www.h2database.com 다운로드 및 설치
(버전은 스프링 부트 버전에 맞춘다.) - 더보기
권한 주기 : chmod 755 h2.sh
- 더보기
실행 : ./h2.sh
- 데이터베이스 파일 생성 방법
- jdbc:h2:~/test (최초 한번)- ~/test.mv.db 파일 생성 확인
- 이후부터는 `jdbc:h2:tcp://localhost/~/test` 이렇게 접속

순수 JDBC
- Java Database Connectivity의 줄임말로, 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다.
- JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트 하는 방법을 제공한다.


스프링 통합 테스트
- @SpringBootTest
스프링 컨테이너와 테스트를 함께 실행한다. - @Transactional
테스트 케이스에 anotation이 있으면, 테스트 시작 전에 트랜잭션을 시작하고, 테스트 완료 후에 항상 롤백한다.
-> DB에 데이터가 남지 않아 다음 테스트에 영향을 주지 않는다.
스프링 JdbcTemplate
- 순수 Jdbc와 동일한 환경설정을 하면 된다.
- 스프링 JdbcTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해준다.
하지만, SQL은 직접 작성해야 한다. - 순수 Jdbc와 다르게 DataSource를 직접 사용하는 것이 아닌, JdbcTemplate 인스턴스를 사용해서 DB에 접근한다.
JPA vs Spring Data JPA
- JPA(Java Persistence API)
- 자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스와 어노테이션의 표준 집합을 정의한다.
- 특정 기능을 하는 라이브러리가 아닌 인터페이스이다. - Hibernate
- 인터페이스를 직접 구현한 라이브러리
- JPA의 모든 기능을 지원하며, 객체와 관계형 데이터베이스 간의 매핑을 자동으로 처리하여 개발자가 하나하나 sql 쿼리를 작성하지 않도록 도와준다.
- JPA의 구현체로, JPA를 사용하기 위해서 반드시 hibernate만을 사용할 필요가 없다. - Spring Data JPA
- Spring에서 제공하는 모듈 . 중하나로, JPA 위에 추가적인 기능을 제공하여 JPA기반 애플리케이션 개발을 보다 간편하게 만드는 라이브러리/프레임워크이다.
- Repository라는 인터페이스를 제공함으로써, 사용자가 Repository 인터페이스에 정해진 규칙대로 method를 입력하면, Spring이 알아서 해당 method이름에 적합한 쿼리를 날리는 구현체를 만들어서 Bean으로 등록해준다.
JPA -> Entity Manager를 사용하여 데이터베이스 기능을 사용해야한다.
Spring Data JPA -> Repository 인터페이스를 사용하여 EntityManager 대신에 사용할 수 있다.

'IT > Spring' 카테고리의 다른 글
| [스프링] "겨울이 지나가고 봄이 왔다" 🌸 (0) | 2024.04.08 |
|---|---|
| [스프링] 입문 - InteliJ 오류 (1) | 2024.01.13 |