영속; 영원히 계속하다. 종교 유무와 관계없이 대부분의 사람은 영원을 갈망합니다. 영원이라는 것이 실제로 존재하는지 아닌지 알 수 없는데도 말입니다.
스프링 부트 프로젝트에서 값을 영구적으로 저장하려면 데이터베이스의 도움이 필요합니다. 우리 프로젝트에서는 무료 DB인 마리아DB를 사용합니다.
이전 글에서 application.properties를 작성했어야 진행할 수 있습니다.
먼저 DataBase를 생성합니다. 터미널로 이동해 아래 명령어를 입력합니다.
mysql -u root -p
비밀번호를 입력합니다. 정상적으로 로그인 됐다면 아래 화면처럼 MariaDB로 변경됩니다.
아래 명령어를 입력하여 데이터베이스를 생성하고, 데이터베이스가 생성됐는지 확인합니다.
show databases; // DB 조회
create database portfolio; // DB 생성
테스트를 위해 테스트 테이블을 생성합니다. 터미널이나 DBeaver에서 실행합니다.
CREATE TABLE `TB_TEST` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`content` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
);
오른쪽 상단에 위치한 햄버거 모양의 데이터베이스 아이콘을 클릭합니다. 추가(+) > Data Source > MariaDB를 선택합니다.
DB 계정 정보를 입력합니다. User와 Password, Database를 입력하고 Test Connection을 클릭합니다. 처음 연결한다면 MariaDB Driver를 다운로드 해야 합니다.
OK를 누르면 Query Console 창이 나타납니다. DB가 연동됐는지 확인하기 위해 테스트 코드를 작성합니다. 코드를 실행하려면 코드를 선택한 상태에서 우클릭을 눌러 excute로 실행합니다.
select now();
intelliJ와 MariaDB가 연동됐습니다. 이제 프로젝트에 연동되는지 확인할 차례입니다.
test > java > com.portfolio > 아래에 database 폴더를 생성합니다. ConnectionTest 이름의 클래스를 생성하고 아래 코드를 입력합니다. (이때, getConnection()에 파라미터로 들어가는 url, username, password는 개인이 설정한 값을 넣어야 합니다.)
@Test 왼쪽에 excute 버튼을 눌러 테스트를 실행합니다.
package com.portfolio.database;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.sql.Connection;
import java.sql.DriverManager;
public class ConnectionTest {
@Test
public void ConnectionTest() throws Exception {
Class.forName("org.mariadb.jdbc.Driver");
Connection connection = DriverManager.getConnection(
"jdbc:mariadb://localhost:3306/portfolio",
"root",
"0000");
Assertions.assertNotNull(connection);
connection.close();
}
}
테스트가 성공했습니다!