일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 타임리프
- 타임리프와 스프링
- 하모니카 OS 5
- 스프링부트
- 리눅스
- 비밀번호 변경 명령어
- 다른사람 프로젝트 수정전 가져야할 자세
- 추천 프로그램
- Test 룸북 사용하기
- 함수 인자값 id
- 시퀀스 조회
- 프로젝트 클린
- 명령어
- cmd
- BindingResult
- Java
- 설정
- 룸북
- it
- 추천 사이트
- linux
- 순서 보장
- 개발시작전 자세
- StringUtils.hasText
- JSON
- select
- js
- Intellij
- #{..}
- 자바스크립트 인라인
- Today
- Total
웹개발 블로그
ORM 본문
ORM
- Object Relational Mapping
- 비유 : 나의 하인
- 클래스를 하나 만들어보면 모델 클래스가 있는데(건물을 짓는 설계도) 이 설계도를 가지고 건물을 짓게 되면 모델링한다고 부른다.
- 모델링 : 추상적인 개념을 현실세계에 뽑아낸다.
- 데이터베이스에 데이블에 ID(int), Name(varchar), Year(varchar) 설계하고 나서 자바에서 사용하려면?
ㄴ 자바 프로그램에서 input하거나 output하기도 하겠지?
ㄴ 넣기도 하고(DML) 가져오기(SELECT)도 하고
ㄴ SELECT하거나 집어넣을때 자바가 들고있는 타입과 테이블에 데이터 타입은 다르거든
ㄴ 그래서 자바는 테이블에 데이터 타입을 모델링하여 클래스를 만들어야해.
🔽
Google Slides: 로그인
로그인 프레젠테이션으로 이동
accounts.google.com
ORM을 사용하면(기존에는 TRM : 테이블을 토대로 생성해야함)
상황이 역전이 된다.
자바 클래스를 만들고 이를통해 데이터베이스를 자동 생성
이때 필요한게 뭐냐면
JPA가 가지고 있는 인터페이스
ㄴ 인터페이스의 규칙을 지키면 데이터 베이스에 테이블이 자동으로 생성되는 기법이 ORM이라 불린다.
[흐름]
함수를 사용하면 중복(반복)작업되는 CRUD를
자바프로그램에서 CONNECTION을 요청하고
DB는 SESSION을 오픈하게 되고
서로 연결이 된다.
자바에서 CONNECTION을 받고 쿼리를 전송한다
테이블에 데이터를 자바에 응답하게 된다.
그럼 자바가 이해할 수 있도로 변경해야하는데
엄청난 로직이 아닌 단순한 반복 로직 (즉 노가다지?)
- 기본적으로 반복되는 이런일을 줄여주는게 JPA다.
[정리]
그래서 나의 하인
- 반복 작업 단순하게 도와주고
- 내가만든 클래스를 데이터베이스 테이블로 만들어준다.
'◆ SPRING BOOT > 정리' 카테고리의 다른 글
[SpringBoot] FrontController 패턴 , RequestDispatcher (0) | 2023.02.14 |
---|---|
web.xml (0) | 2023.02.12 |
[SpringBoot] JPA 개념 잡기 - 4강 (0) | 2023.02.12 |
[SpringBoot] 스프링부트 개념정리 - 스프링 핵심(1,2,3강) (0) | 2023.02.11 |
[SpringBoot] message 파일 위치 + 메시지 소스 설정 (0) | 2023.02.08 |