728x90
반응형
MariaDB연동(docker)
앞에서 만든 spring boot 프로젝트와 JPA 연동
Database는 Mariadb 사용하며, docker에 띄워서 사용
Docker에 MariaDB 설치 및 실행
docker 이미지 다운로드
docker pull mariadb
error 발생
-> docker hub 로그인 문제
docker hub 로그인
docker login
docker mariadb image 다운로드
docker pull mariadb
docker mariadb 컨테이너 추가 및 구동
docker run --name maraidb_noticeboard -d -p 4001:3306 -e MYSQL_ROOT_PASSWORD=yunha98 mariadb
-name : 컨테이너 이름 지정
-d : 컨테이너를 백그라운드로 실행
-p 4001:3306 : 호스트-컨테이너간 포트 연결. 호스트에서 4001로 접속 시 컨테이너 3306 포트로 포트포워딩
-e MYSQL~ : 컨테이너 내 환경변수 설정. root 계정 패스워드 설정
컨테이너 목록 확인
docker ps
컨테이너 bash로 접속
docker exec -it maraidb_noticeboard /bin/bash
MariaDB 설정(user 및 데이터베이스 생성)
mariadb 실행
mysql -uroot -p'password'
user 생성 및 권한 부여
create user 'yunha'@'%' identified by 'yunha98';
grant all privileges on .*. to 'yunha'@'%';
flush privileges;
noticeboard 데이터베이스 생성
create database noticeboard;
Spring Boot Project와 MariaDB 연동
application.yml
- /src/main/resources/application.properties 파일을 application.yml로 바꾼다
spring:
datasource:
url: jdbc:mariadb://localhost:4000/noticeboard
username: yunha
password: yunha98
driver-class-name: org.mariadb.jdbc.Driver
build.gradle
- mariadb jdbc 의존성 추가
implementation group: 'org.mariadb.jdbc', name:'mariadb-java-client'
JPA 사용
application.yml
jpa:
hibernate:
ddl-auto: update
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
show-sql: true
database-platform: org.hibernate.dialect.MariaDBDialect
ddl-auto : db 초기화 전략 설정
- update : 변경된 스키마만 적용
- create : 시작될 때 drop 후 다시 생성
- create-drop : 시작과 종료 시 모두 drop
physical-strategy : 변수면 매핑 전략
- ~.PhysicalNamingStrategyStandardImpl : 변수명과 DB 칼럼명 그대로 매핑
- ImprovedNamingStrategy : 카멜 케이스를 언더스코어로 변경(userName -> user_name)
728x90
반응형
'Cloud > Docker' 카테고리의 다른 글
[Docker] Docker 명령어 정리 (0) | 2021.05.14 |
---|---|
[Docker] Windows10에 Docker 설치하기 (0) | 2021.05.14 |