Maria DB & 스프링 부트 프로젝트 DB 설정

Crow·2022년 6월 10일
0

Spring Boot

목록 보기
1/6

1.Maria DB 설치 스키마/ 계정 생성

https://mariadb.org/download/?t=mariadb&p=mariadb&r=10.6.8&os=windows&cpu=x86_64&pkg=msi&m=yongbok
해당 링크에서 MariaDB 다운로드 (앞 포스팅에서 적었지만
10.5 버전을 다운받을시 HeidiSQL 사용에 에러가 생길수있으므로 10.6버전을 추천함)

여기서 다른것들은 상관없지만 root계정의 암호 기억과 UTF-8에 관한 세팅설정은 꼭 해줘야함

이후 MariaDB 설치시 같이 다운된 HeidiSQL을 실행해서
root 세션을 등록해서 실행해줌(root 세션 연결 안될시 HeidiSQL을 최신버전으로 다운로드 해준 후 실행)

세션 연결후 새로 생성으로 데이터베이스를 생성해줌
나는 bootex로 생성함

이후 도구에서 사용자 관리로 들어가던지 상단 옵션바에 사람 모양 아이콘을 클릭해서 사용자를 생성함
여기서 접근허용 항목에 객체 추가를 통해서 방금 생성한 bootex 데이터베이스의 권한을 줘야함

이후 HeidiSQL에 root 세션을 등록한것처럼 방금 만든 사용자를 등록해서 연결해보면 bootex 데이터 베이스만 사용가능한 사용자가 만들어진것을 볼 수 있음

2. 스프링 부트 프로젝트의 데이터 베이스 설정

MariaDB 설정이 완료되었다면 스프링 부트 프로젝트에서 데이터베이스를 사용해보기 위해서 intelliJ에 SpringInitializr를 이용해서 스프링 부트 프로젝트를 생성함

딱히 특별한것은 없고 Gradle과 War로 설정해서 만들어줌

프로젝트에 추가하는 의존성항목은 Spring Boot DevTools,
Lombok, Spring web, Spring Data JPA임

데이터베이스를 위한 스프링 부트 설정

스프링 부트는 Auto Configuration이라고 불리는 자동 설정기능이 존재함
간단히 말해서 특정한 라이브러리가 있다면 이에 관련된 설정을 자동으로 추가하는것임

여기선 Spring Data JPA라는 의존성을 추가했기 때문에
관련된 설정이 자동으로 추가되는 것을 의미함

Spring boot는 main()메서드를 실행하는 것만으로도 프로젝트가 정상적으로 실행됨
하지만 현재 프로젝트는 동일하게 실행할 경우 에러 메시지가 발생 로그의 내용은 datasource 관련 url설정에 대한 내용임

해결을 위해선 다음과 같은 설정이 필요함

  • JDBC 드라이버 다운
  • 스프링 부트 내 사용할 MariaDB의 설정

Maven저장소에 Maria유 Java Client를 검색한후 gradle용 설정을 복사해서 build.gradle 파일에 dependencies항목에 추가해줌(나는 버전을 2.7.5를 사용함)

여기서 gradle은 라이브러리를 추가한후 오른쪽 상단에 코끼리모양의 아이콘을 클릭해주면 반영해줌

다음으로 설정은 프로젝트 내에 생성된 application.properties파일을 이용하거나 별도의 설정 클래스 파일을 작성해서도 사용가능

여기선 간단하게 application.properties를 사용하겠음

application.properties의 설정 항목은 상당히 다양함
이에 대한 자세한 내용은 스프링부트의 레퍼런스 문서를 참조하면됨 IntelliJ 울티버전은 자동완성을 제공해 주는 편리함이 있음(개인적으로 너무 편한것 같다고 생각됨)
그렇지만 커뮤니티 버전은 지원 안하기 때문에 조금 힘들수 있음

spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:****/bootex
spring.datasource.username=*****
spring.datasource.password=*****

이후 프로젝트를 실행하면 정상적으로 실행됨
여기서 로그를 보면 HikariPool로 시작하는대 스프링 부트가 디폴트로 이용하는 커넥션풀이 HikariCP 라이브러리라는걸 알수있음
기존에 스프링 프로젝트는 라이브러리를 직접 추가했어야 했음

profile
어제보다 개발 더 잘하기 / 많이 듣고 핵심만 정리해서 말하기 / 도망가지 말기 / 깃허브 위키 내용 가져오기

0개의 댓글