spring - RDBMS, JPA

bgy·2021년 7월 22일
0

spring

목록 보기
6/9

RDBMS(Relational DataBase Management System) : 관계형 데이터베이스 관리 시스템(엑셀과 유사)

엑셀 파일 = 데이터베이스

엑셀 시트 = 테이블

엑셀 행 = 데이터

인메모리 DB(In-memory DB) : 서버가 작동하는 동안에만 내용을 저장하고 서버가 작동을 멈추면 데이터가 모두 삭제되는 데이터베이스 ex) H2

SQL(Structured Query Language) : 데이터를 생성하고, 읽고하고, 변경하고, 삭제하는 구체적인 문법(CRUD)

NOT NULL : 비어있으면 안된다
PRIMARY KEY (id) : id를 구분할 수 있는 값(key)으로 삼겠다
AUTO_INCREMENT : 자동으로 하나씩 증가

JPA : SQL을 쓰지 않고 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기

테이블 = Domain
SQL = Repository

JPA는 Repository를 통해서만 사용 가능
인터페이스 = 클래스에서 멤버가 빠진 메소드 모음

자고로 DB라 함은 생성일자와 수정일자를 필드로 가져야 함

어노테이션
@MappedSuperclass // 상속했을 때, 컬럼으로 인식하게 합니다
@EntityListeners(AuditingEntityListener.class) // 생성/수정 시간을 자동으로 반영하도록 설정
@CreatedDate // 최초 생성 시점
@LastModifiedDate // 마지막 변경 시점

@EnableJpaAuditing // 시간 자동 변경이 가능하도록 합니다.
@SpringBootApplication // 스프링 부트임을 선언합니다.

CRUD : 정보 관리의 기본 기능 - 생성 (Create) 조회 (Read) 수정 (Update) 삭제 (Delete)

jpa에서
repository.save() - 데이터 저장
repository.find***() - 데이터 조회

수정(Update)의 경우 스프링의 구조 3가지 중 Service 부분에 작성
@Service // 스프링에게 이 클래스는 서비스임을 명시

@Transactional // SQL 쿼리가 일어나야 함을 스프링에게 알려줌

repository.delete***() - 데이터 삭제

0개의 댓글

Powered by GraphCDN, the GraphQL CDN