Spring

JDBC와 DB 연동

Mecodata 2024. 3. 19. 22:15

JDBC (Java DataBase Connectivity)

- Java를 통해 관계형 데이터베이스(RDB)와 통신할 수 있도록 해주는 자바 API

JDBC Driver 

- Java 프로그램이 관계형 데이터베이스와 통신할 수 있도록 해주는 소프트웨어 모듈

DB 종류별 JDBC Driver 

  • MySQL = com.mysql.cj.jdbc.Driver
  • MariaDB = org.mariadb.jdbc.Driver
  • Oracle = oracle.jdbc.driver.OracleDriver
  • SQLite = org.sqlite.JDBC
  • PostgreSQL = org.postgresql.Driver
  • MSSQL = com.microsoft.sqlserver.jdbc.SQLServerDriver

DB 종류별 의존성 설정 (Gradle)

  • MySQL = implementation 'mysql:mysql-connector-java:8.0.26'
  • MariaDB = implementation 'org.mariadb.jdbc:mariadb-java-client:2.7.1'
  • Oracle = implementation 'com.oracle.database.jdbc:ojdbc8'
  • SQLite = implementation 'org.xerial:sqlite-jdbc:3.34.0'
  • PostgreSQL = implementation 'org.postgresql:postgresql:42.2.23'
  • MSSQL = implementation 'com.microsoft.sqlserver:mssql-jdbc:9.4.1.jre11'

 

JDBC를 활용한 Spring ↔ DB 연동

application.properties 

spring.datasource.url=jdbc:DB 종류://호스트:포트/DB명
spring.datasource.username=DB username
spring.datasource.password=DB password
spring.datasource.driver-class-name=DB 종류에 따른 JDBC Driver

application.yml

spring:
  datasource:
    url: jdbc:DB 종류://호스트:포트/DB명
    username: DB username
    password: DB password
    driver-class-name: DB 종류에 따른 JDBC Driver

 

Oracle의 경우에는 datasource.url을 jdbc:oracle:thin:@호스트:포트/DB명 형식으로 입력

MySQL의 경우에는 datasource.url의 마지막에 ?serverTimezone=UTC&characterEncoding=UTF-8를 추가하여 시간대와 인코딩 방식을 따로 설정해줄 수 있음