MySQL 설정하기

jayjay28·2019년 8월 26일
0

SpringBoot

목록 보기
7/12
post-thumbnail

이번 포스팅에서는 DBCP를 알아보고, 스프링부트에서 MySQL을 연동하는 과정을 담았습니다.

DBCP?

  • 먼저 DBCP 를 알아보기 전에 JDBC 에 살펴보겠습니다.
  • JDBCJava Database Connectivity 의 약자로 자바에서 데이터베이스에 접속할 수 있도록 도와주는 자바 API 입니다.
  • JDBC 의 효율성을 높이기 위해 나온 것이 DBCP 입니다.
  • DBCPDatabase Connection Pool 의 약자로 DB와 커넥션을 맺고 있는 객체를 관리합니다.
  • 스프링부트는 기본적으로 HikariCP를 사용하고 있어 실습도 이걸 이용해 진행할 예정입니다.

DBCP 역할

  • DBCP 의 역할을 간단하게나마 정리해보면 다음과 같습니다.
    - WAS 실행 시, 미리 개발자가 지정한 DB Connection 객체를 생성하여 Pool이라는 공간에 저장
    • DB 연결 요청이 들어오면, 이 Pool에서 Connection 객체를 불러와 사용하고 반환
    • 즉, 미리 만들어 놓은 커넥션 객체를 요청이 들어올때마다 꺼내 쓰는 형식입니다.
    • 그런데 커넥션 객체를 미리 만들어 놓을때, "몇개를 만들어 놓을 것이냐", "얼마동안 안쓰이면 없앨 것이냐", "최소한 몇개를 유지할 것이냐" 등 여러 설정을 할 수 있습니다.
    • 단, 커넥션 객체는 동시에 일 할 수 있는 개수는 cpu 코어 개수에 비례합니다.

스프링부트에서 MySQL 사용하기

  • maven 사용과 mysql이 설치 되었다는 가정하에 진행합니다.
  • intellij springboot initializer를 이용하여 프로젝트를 생성했습니다.
  • 전체 소스 보기
  • DB로 AWS RDS(mariadb)를 이용했습니다.
  • 프로젝트 구조는 다음과 같습니다.(필요한 것만 적었습니다)

1. 먼저 mysql 접속에 필요한 라이브러리를 pom.xml 파일에 의존성을 추가 합니다.

2. application.properties 파일에서 db 정보를 입력합니다.

디비 주소 입력할 때, jdbc:mysql://스킴을 앞에 붙이는 것을 잊지마세요 ㅎㅎ;
예를 들면 jdbc:mysql://localhost:3306이런 식으로요!

3. 접속이 잘되는 지 MySQLRunner.java 작성합니다.

4. 스프링부트 실행하면 커넥션 클래스, 디비 url, 디비사용자가 콘솔에 찍히면 성공입니다!

Reference

profile
@탈주범 및 프론트엔드 개발자

0개의 댓글