본문 바로가기
학습/Spring

[spring] 스프링 부트에서 MySQL과 PostgreSQL 사용하기

by KKambi 2020. 5. 6.

DBCP

DataBase Connection Pool

  • DB Connection을 만드는 과정은 훨씬 복잡한데 내부 처리 해줌
  • 커넥션을 미리 만들어놓고, 필요할 때 가져다 쓰는 방식
  • 최소 유지 개수 / 유지 시간 / 타임아웃 시간 설정 등
  • 어플리케이션의 성능에 많은 영향을 줌

 

 

스프링 부트의 DBCP

  1. HikariCP (기본)
  2. Tomcat CP
  3. Commons DBCP2

 

 

DBCP 설정 변경하기

spring.datasource.hikari.*
spring.datasource.tomcat.*
spring.datasource.dbcp2.*

 

Common Application properties

Various properties can be specified inside your application.properties file, inside your application.yml file, or as command line switches. This appendix provides a list of common Spring Boot properties and references to the underlying classes that consume

docs.spring.io


 

MySQL Connector 추가 (MySQL JDBC Driver)

mysql-connector-java 의존성 추가

MySQL 자체가 아닌, 이에 접속할 수 있는 커넥터

 

 

 

MySQL 추가

강의에선 docker를 통해 DB인스턴스를 띄웠으나, 컴퓨터 메모리가 부족해 docker desktop for windows를 실행하기에

메모리가 부족한 관계로 생략...

(AWS 서버를 이용하든, 도커를 이용하든, MySQL 인스턴스가 띄워져 있다고 가정하자!)

 

 

JDBC 설정과 MySQL 접속

spring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=kkambi
spring.datasource.password=pass

 

접속 명령어 : mysql -u kkambi -p

 

 

MySQL 5 이상부터 SSL접속 권장

경고 메세지 : According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set.

 

해결책 : useSSL=false 를 URL Query String으로 추가

 

 

사실 MySQL보다 PostgreSQL 권장

  1. 라이센스 비용 요구 → MariaDB Community로 대체, but GPL2
  2. GPL로 소스 공개 의무 → PostgreSQL로 대체

cf) GPL = General Public License

 


 

PostgreSQL JDBC Driver 추가

org.postgresql:postgresql 의존성 추가
(mysql-connector-java와 같은 드라이버)

 

 

PostgreSQL 설치

강의에서도 여전히 도커를 활용하여 인스턴스 구동.

나는 로컬에 직접 설치하는 방법을 택했다.

 

  1. PostgreSQL installer for windows를 실행하여 설치한다.
  2. psql(SQL Shell)이 같이 설치된 것을 볼 수 있다.
  3. psql을 구동하여 접속 정보를 입력하여 접속 (url, dbname, port, username, password)
    • default server : localhost
    • default database : postgres
    • default port : 5432
    • default username : postgres

 

가이드 : https://dora-guide.com/postgresql-install/

 

PostgreSQL 설치 한후 PostgreSQL 접속 까지 해보자! - 도라가이드

PostgreSQL 설치 부터 PostgreSQL 접속까지 하는 방법에 대해 알아보자! 초보자도 따라 할 수 있도록 쉽게 순서대로 설명해보았습니다. PostgreSQL 이란 무엇인가? 데이터베이스 관리 시스템 postgresql download 방법

dora-guide.com

 

 

JDBC 설정과 PostgreSQL 접속

spring.datasource.url=jdbc:postgresql://localhost:3306/springboot
spring.datasource.username=kkambi
spring.datasource.password=pass

 

  1. 데이터베이스 조회 : \list → 기본 DB만 존재
  2. 데이터베이스 생성 : CREATE DATABASE springboot;
  3. 데이터베이스 변경 : \c springboot
  4. 테이블 조회 : \dt

 

cf) spring.datasource.driver-class-name을 설정하지 않아도, URL로 추측해서 자동 설정

 

cf) USER는 PostgreSQL의 키워드이므로 다른 이름 사용 (ex. ACCOUNT)

 

cf) PostgreSQL에는 VARCHAR2 타입이 없으므로 유의!

 

댓글