이제, 앞선 포스팅의 인메모리 H2 DB의 내용을 똑같이 MySQL DB에 적용시켜주면 된다!
<!--
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
-->
<!-- Use this for Spring Boot 3.1 and higher -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- Use this if you are using Spring Boot 3.0 or lower
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
-->
docker run --detach --env
MYSQL_ROOT_PASSWORD=dummypassword
--env MYSQL_USER=social-media-user
--env MYSQL_PASSWORD=dummypassword
--env MYSQL_DATABASE=social-media-database
--name mysql
--publish 3306:3306
mysql:8-oracle
#spring.datasource.url=jdbc:h2:mem:testdb
spring.jpa.show-sql=true
<!-- 여기서부터 추가 -->
spring.datasource.url=jdbc:mysql://localhost:3307/social-media-database
spring.datasource.username=social-media-user
spring.datasource.password=dummypassword
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
spring.jpa.hibernate.ddl-auto=update
h2 database와 다르기 MySQL database과 연결되면 data.sql은 실행되지 않기에, 아직 MySQL database에는 그 어떠한 데이터베이스 값도 들어가지 못했다!
그 전에, 아무것도 없던 /jpa/users 에 POST로 데이터 1개를 생성했다.
실제로 mysql에 연결이 되었는지 체크하기 위해, 가장 간단하게 mysql 연결하는 방법인 mysqlsh를 사용해보자!
mysqlsh
\connect social-media-user@localhost:3307
use social-media-database
\sql
select * from user_details;
select * from post;
\quit
참고 및 출처
이 시리즈는 Udemy 강의의 내용을 정리한 것입니다.
https://www.udemy.com/course/spring-boot-and-spring-framework-korean/
안녕하세요 포스트 잘 봤습니다.
혹시 강의 다음 부분인 풀스택 애플리케이션 구축 부분부터는 포스팅 하지 않은 이유가 있을까요?