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를 추가하여 시간대와 인코딩 방식을 따로 설정해줄 수 있음