사이드 프로젝트 INFO - DB 연동

seul·2022년 8월 7일
0

SIDE-PROJECT-INFO

목록 보기
5/7
post-thumbnail

DB 연동

프로젝트 내 DB 연동하는 방법

1. (필요 없지만) DB 관리 인텔리제이에 설치

  • 프로젝트에 Database Navigator 플러그인 설치
  • (맥 기준) Command + Shift + a > Database Browser

2. Maria DB 연동

build.gralde에 추가

  • JPA 추상화 라이브러리 추가
  • 라이브러리 버전 관리
  • maria DB 연동
-- JPA 추상화 라이브러리 추가, 라이브러리 버전 관리
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

-- mariaDB 연동
implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.4'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'

-- entityManagerFactory의 bean을 생성하기 위해
implementation group: 'org.javassist', name: 'javassist', version: '3.15.0-GA'

application.properties에 추가

# DB 연동
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

# 엔드포인트:포트/DB명
spring.datasource.url=jdbc:mariadb://{DB명}

# 계정 정보
spring.datasource.username=
spring.datasource.password=

# DB 연동 시 JPA가 자동으로 바꿔줘서 해당 설정 추가
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

# sql 쿼리 조회용
spring.jpa.show-sql=true

중간에 실행을 해보니 자꾸 테이블이 존재하지 않는다는 에러가 떠서,
https://velog.io/@mbsik6082/Table-DBNAME.TableName-doesnt-exist.-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%9D%B4-%EC%A1%B4%EC%9E%AC%ED%95%98%EC%A7%80-%EC%95%8A%EB%8A%94%EB%8B%A4
요 url을 참고하여 설정했다

근데 이걸 yml 파일로도 설정할 수 있는 듯

이건 추후에 한 번 더 확인해야 합니다~ 일단 적어두기

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  datasource:
    driver-class-name: org.mariadb.jdbc.Driver
    url: jdbc:mariadb://
    username: 
    password: 
  jpa:
    hibernate:
      database-platform: org.hibernate.dialect.MariaDB103Dialect
      naming: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    show-sql: true

3. 프로젝트 실행 시 DB 연동이 되지 않을 때

  • 원인: AWS EC2 내 인스턴스에 해당 ip가 등록되지 않아서
  • 해결방법
    • AWS 접속
    • 네트워크 및 보안 > 보안 그룹
    • launch-wizard-1 선택
    • 인바운드 규칙 편집
    • 규칙 추가: 유형(MySQL/Aurora), 현재 ip 작성하여 규칙 저장
profile
자존감은 일상의 성실함으로부터 온다

0개의 댓글