728x90
MySQL
- 오라클 사가 관리 및 배포하고 있는 오픈소스 관계형 데이터베이스 관리 시스템
장점 : 가장 대중화 되어있고 아마존 오로라 클라우드로 이관하기 편함
ORM (Object Relational Mapping)
- 객체가 관계형 데이터베이스의 테이블이 되도록 매핑 시켜주는 것
- 객체 모델과 관계형 모델간에 불일치가 존재하는데, 이 객체간의 관계를 바탕으로 SQL을 자동 생성하여 불일치를 해결하는 것
- SQL Query가 아닌 직관적인 코드(메서드)로서 DB의 데이터를 조작 가능
# 객체 지향 프레임워크 별로 ORM을 사용하고 있다.
- Django : ORM cookbook
- Node.js : Sequalize
- Spring Boot : Hibernate, JPA
JPA (Java Persistence API)
- 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
- ORM을 사용하기 위해 만든 인터페이스
- 특정 기능을 하는 라이브러리 아님
import javax.persistence.*;
//domain
//BaseEntity
//JPA를 정의한 javax.persistence 패키지의 대부분은 interface, enum, Exception, 각종 Annotation으로 이루어져 있다.
//예를 들어, JPA의 핵심이 되는 EntityManager는 아래와 같이 javax.persistence.EntityManager 라는 파일에 인터페이스로 정의되어 있다.
//데이터를 생성한 프로그램이 종료되어도 사라지지 않는 데이터의 특성.
//우리가 만든 자바 프로그램이 종료되어도 디비에 데이터가 남아있게 하는 것.
Hibernate
- javax.persistence.EntityManagerFactory 와 같은 JPA(인터페이스)를 직접 구현한 라이브러리
hibernate 사용방법
1. build.gradle : hibernate 라이브러리 추가
implementation 'org.hibernate:hibernate-agroal:5.4.30.Final'
2. build.gradle : mysql connector 추가
implementation 'mysql:mysql-connector-java'
3. application.properties : hibernate 설정 파일
3~23 hibernate로 변경 + hibernate를 사용할 수 있게 해주는 코드도 있어야 함
4. MimoApplication.java : main.java 또는 DB.java 파일에 hibernate 설정(db.conn() 같은..)
@EnableJpaAuditing
총정리
'두두의 IT' 카테고리의 다른 글
쿠버네티스 / 도커 / 도커 허브 / 도커 이미지 / 도커 컨테이너 / 도커 볼륨 (0) | 2022.03.12 |
---|---|
Spring / Spring Boot / Gradle 용어 정리 (0) | 2022.03.07 |
IntelliJ - Github 연동 (0) | 2022.01.25 |
H2 DB 사용하기 (0) | 2022.01.18 |
CentOS (putty)에 mariaDB 설치하기 (0) | 2022.01.18 |