JDBC란

시모키타자와·2022년 10월 6일
0

SpringDB

목록 보기
1/8

**jdbc란 Java Database Connevtivity의 약자로써 자바에서 데이터 베이스에 접속하게 해주는 자바 API다.

쉽게 말하자면 domain과 h2, mysql, postgresql 등등의 Database와 연결시켜주는 api다.**

JDBC 등장

JDBC가 등장한 이유는 무엇일까?

개발자들은 애플리케이션을 개발하고 데이터를 저장할 때 Database에 저장를 한다. Database를 줄여서 DB라고 표현한다.이제부터는 DB로 줄이겠다

(유저)웹페이지, 핸드폰 -> 애플리케이션 서버 -> 데이터베이스(DB)

유저가 어떤 매체를 통해 서비스를 사용하고 서비스에서 회원가입, 주문 등을 사용한다.
이 정보를 프론트엔드에서 유저의 정보를 받고 백엔드인 애플리케이션 서버에 정보를 보내준다.
그 후 백엔드에서는 유저의 정보를 데이터베이스에 저장하는 일을 한다.

애플리케이션 서버와 DB

애플리케이션 서버는 DB와 연결을 할 때
1. TCP/IP를 사용하여 커넥션 연결을 한다.
TCP : 한 기기에서 다른 기기로 데이터를 전송하는 담당
IP : 데이터의 조각을 최대한 빨리 대상 ip주소로 보내는 역할

애플리케이션 서버가 ip 주소를 사용하여 데이터를 DB에게 전달하기 위해 커넥션 연결을 한다.

  1. SQL전달한다.
    각각의 DB에 따라 SQL를 이해할 수 있는 "문법?"이 다르기 때문에 맞는 SQL문에 맞춰서 DB에 보내준다.

  2. DB는 전달된 SQL이 제대로 들어왔다고 응답을 보내준다. 그리고 서버는 이 응답을 사용하여 개발을 한다.

!!하지만!!,

여기에는 문제점이 존재한다. 첫번째는 데이터베이스의 종류가 여러가지 이기 때문에 데이터베이스에 따라서 애플리케이션 서버의 코드로 함께 변경해야 되는 번거로움이 있다. 두번째 데이터베이스에 따라 서버의 코드도 변경해야 되니 당연히 개발자도 각각의 데이터베이스이 SQL전달 응답받는 방법을 새로 학습해야한다.

이러한 문제를 해결하기 위해 등장한 것이 JDBC이다.

JDBC의 사용 방법

JDBC는 각각의 DB에게 제공되는 인터페이스이다. 인터페이스이기 때문에, 각각의 DB들은 구현해 놓은 드라이버가 존재한다. 이 드라이버를 통해서 개발자들은 각각의 DB의 SQL를 학습하고 코드를 변경할 필요가 없어졌다. JDBC의 표준만 학습을 하면 여러가지 DB와 커넥션이 가능하기 때문이다

예를 들어 MySQL DB에 데이터를 전달할 때

서버 [애플리케이션 -> JDBC 표준 인터페이스 -> MYSQL 드라이버] -> MYSQL

순서로 커넥션 연결을 해주면 되기 때문이다.

JDBC를 사용하기 위해서는 JDBC에서 제공하는 DriverManager.getConnection()를 사용하면 된다. 이렇게 하면 데이터베이스 드라이버를 찾아서 커넥션을 반환하고 우리는 이 커넥션으로 DB와 연결하면 된다.

위의 이미지에서 보이다 싶이 H2 DB와 커넥션이 되었다

profile
Back-end Engineer

0개의 댓글