
프로젝트 구현 중에 MySQL을 사용하게 되었습니다.
사용하면서 찾아본 정보 기록입니다.
RDS MySQL 구매 관련 내용은 지난 게시글에 있습니다.
RDS 구매 및 MySQL 세팅하기 : https://jemoo1060.tistory.com/52?category=1024391
RDS 구매 MySQL 세팅하기
RDS 필요할 때 마다 까먹을꺼 같아서 기록 해둡니다. AWS 로그인후 오른쪽 상단에 본인이 구매하고자 하는 지역을 설정 합니다. (가끔 멋대로 다른 지역 접속 되어 있는 경우가 있으니 확인) RDS 검
jemoo1060.tistory.com
MySQL이란?
MySQL은 구조적 쿼리 언어(SQL)를 기반으로 Oracle에서 개발한 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
데이터베이스는 구조화된 데이터 모음입니다. 단순한 쇼핑 목록에서 사진 갤러리 또는 기업 네트워크에서 방대한 양의 정보를 보관할 수 있는 장소에 이르기까지 무엇이든 될 수 있습니다. 특히 관계형 데이터베이스는 데이터를 수집하고 관계형 모델에 따라 구성하는 디지털 저장소입니다. 이 모델에서 테이블은 행과 열로 구성되며 데이터 요소 간의 관계는 모두 엄격한 논리 구조를 따릅니다. RDBMS는 단순히 그러한 데이터베이스를 실제로 구현, 관리 및 쿼리하는 데 사용되는 소프트웨어 도구 세트입니다.
- 호환성이 좋음 : RDBMS는 수많은 Linux 배포판이나 Mac OS 및 Windows와 같은 Unix 기반 운영 체제를 포함한 모든 주요 컴퓨팅 플랫폼에서 실행됩니다.
- 관계형 : 관계형 데이터베이스를 다른 디지털 스토리지와 차별화하는 주요 요소는 데이터가 높은 수준에서 구성되는 방식에 있습니다. MySQL과 같은 데이터베이스에는 전체를 포괄하는 단일 저장소나 반 또는 비정형 문서 모음과 달리 고도로 코드화된 여러 개의 개별 테이블에 레코드가 포함되어 있습니다.
- 오픈 소스 : 모든 개인 또는 기업은 Oracle의 오픈 소스 MySQL 코드 기반을 자유롭게 사용, 수정, 게시 및 확장할 수 있습니다.
MySQL Spring boot 연동하기
build.gradle 에 아래 코드로 의존성 주입합니다.
implementation 'mysql:mysql-connector-java'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
프로젝트 > src > main > resources > application.properties 아래 코드 작성합니다.
# Mysql 설정
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# Mysql URL
spring.datasource.url=jdbc:mysql://IP입력:Port입력/DB이름입력
# Mysql username 입력
spring.datasource.username= username입력
# Mysql password 입력
spring.datasource.password= password입력
# DDL(create, alter, drop) 정의시 DB의 고유 기능을 사용할 수 있다.
spring.jpa.hibernate.ddl-auto=update
# true 설정시 콘솔에서 JPA 쿼리문이 어떻게 작동하고 있는지 확인 log볼 수 있다
spring.jpa.show-sql=true
# JPA의 작동 SQL log가독성을 높인다.
spring.jpa.properties.hibernate.format_sql=true
RDS의 경우 IP입력에 MySQL 엔드포인트, Port입력에 MySQL 포트 복사 입력해줍니다.
DB이름도 복사해서 넣어주세요.
spring.jpa.hibernate.ddl-auto=[ ]
- create : 기존 테이블을 삭제하고 새로 생성 [ DROP + CREATE ]
- create-drop : CREATE 속성에 추가로 어플리케이션을 종료할 때 생성한 DDL을 제거 [ DROP + CREATE +DROP ]
- update : DB 테이블과 엔티티 매핑 정보를 비교해서 변경 사항만 수정 [ 테이블이 없을 경우 CREATE ]
- validate : DB 테이블과 엔티티 매핑정보를 비교해서 차이가 있으면 경고를 남기고 어플리케이션을 실행하지 않음
- none : 자동 생성 기능을 사용하지 않음
spring.jpa.properties.hibernate.format_sql=true 적용 전 과 후 비교
MySQL Intellij 연동하기
우측 상단에 Datadase 클릭해줍니다.
+ > Data Source > MySQL 눌러줍니다.
application.properties에 작성한 코드 넣어줍니다.
User에 spring.datasource.username
password에 spring.datasource.password
URL에 spring.datasource.url 복사 해서 입력해주세요.
Test Connection 누르고 Succeeded 뜨면 연동 끝입니다.
출처:
'Spring-boot' 카테고리의 다른 글
개념정리 스프링의 핵심은 무엇인가요? (0) | 2022.06.28 |
---|---|
Spring-boot 트랜잭션 격리 수준과 JPA의 LOCK (0) | 2022.06.09 |
Spring-boot 란? (0) | 2022.06.03 |
Spring-boot에서 github Action & nginx CI/CD구축하기 4 (0) | 2022.06.01 |
Spring-boot에서 github Action & nginx CI/CD구축하기 3 (0) | 2022.06.01 |