본문 바로가기

배운내용 정리

JDBC

1. JDBC 등장배경

2. JDBCTemplate

 

1. JDBC 등장배경

  • 애플리케이션 서버에서 DB에 접근 하기 위해서는 여러가지 작업이 필요합니다.
    1. 우선 DB에 연결하기 위해 커넥션을 연결해야한다.
    2. SQL을 작성한 후 커넥션을 통해 SQL을 요청한다.
    3. 요청한 SQL에 대한 결과를 응답 받는다.

  • 기존에 사용하던 MySQL 서버를 PostgreSQL 서버로 변경한다면 무슨일이 발생할까?
  • MySQL과 PostgreSQL은 커넥션을 연결하는 방법, SQL을 전달하는 방법, 결과를 응답받는 방법 모두 다를 수 있다.
  • 따라서 애플리케이션 서버에서 작성했던 DB 연결 로직들을 전부 수정해야한다.

  • 이러한 문제를 해결하기위해 JDBC 표준 인터페이스가 등장했다.
  • JDBC는 Java Database Connectivity로 DB에 접근할 수 있도록 Java에서 제공하는 API이다.
  • JDBC에 연결해야하는 DB의 JDBC 드라이버를 제공하면 DB 연결 로직을 변경할 필요없이 DB 변경이 가능하다.
    • DB 회사들은 자신들의 DB에 맞도록 JDBC 인터페이스를 구현한 후 라이브러리로 제공하는데 이를 JDBC 드라이버라 부른다.
  • 따라서, MySQL 드라이버를 사용해 DB에 연결을 하다 PostgreSQL 서버로 변경이 필요할 때 드라이버만 교체하면 손쉽게 DB 변경이 가능하다.

2. JDBC Template이란?

  • JDBC의 등장으로 손쉽게 DB교체가 가능해졌지만 아직도 DB에 연결하기 위해 여러가지 작업 로직들을 직접 작성해야한다는 불편함이 남았다.
  • 이러한 불편함을 해결하기 위해 커넥션 연결, statement 준비 및 실행, 커넥션 종료 등의 반복적이고 중복되는 작업들을 대신 처리해주는 JdbcTemplate이 등장했다.

Jdbc Template 사용방법

1. aplication.properties에 DB에 접근하기 위한 정보를 작성한다.

spring.datasource.url=jdbc:mysql://localhost:3306/memo
spring.datasource.username=root
spring.datasource.password={비밀번호}
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

 

2. build.gradle에 JDBC 라이브러리와 MySQL을 등록

// MySQL
implementation 'mysql:mysql-connector-java:8.0.28'
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'

 

3. Intellij Database 연동

사용하려는 Database에서 데이터 베이스를 생성한다.

CREATE DATABASE memo;

 

4. Database 연동순서(Mysql기준)

 

1. Database 탭을 클릭  +버튼 클릭

2. Data Source > MySQL 를 클릭.

3. User, Password, Database 정보를 추가한 후 Ok를 클릭

4. MySQL Database에 연결이 완료

 

 

'배운내용 정리' 카테고리의 다른 글

Nginx + Certbot을 통한 Https 및 TimeZone 적용  (0) 2024.04.15
Github Action CI/CD + Docker  (0) 2024.04.02
Spring IoC와 DI  (0) 2023.11.10
Spring MVC  (0) 2023.11.09
REST  (0) 2023.11.07