[JPA] ORM 의 탄생 배경 (JDBC, Query Mapper)

지인·2023년 7월 31일
0

Spring

목록 보기
17/20

🐰 JDBC

Java Database Connectivity
Java 앱과 DB를 연결시켜주기 위해 만들어진 기술
JPA도 이 기술을 사용하여 구현되어 있다.

  • DB 탄생 후 Java 앱과 연동을 위해 JDBC 가 탄생했다.

  • JDBC Driver 는 여러타입의 DB와 연결할 수 있는 기능을 제공한다.

  • Java 앱이 있다고 했을 때 JDBC API 를 통해서 앱을 DB 와 연결 요청하게 된다.

  • JDBC Driver Manager 가 각각의 DB에 맞는 Driver를 가지고 있는데 Driver를 통해서 Manager 가 API에게 연결 또는 쿼리의 결과를 응답해주게 된다.

🐾 Driver란 연결 정보를 포함해서 여러가지 DB Connection 을 생성하고 쿼리를 발송하고 응답값을 수신할 수 있도록 하는 인터페이스같은 거라고 보면 된다.

  • JDBC Driver Manager 는 런타임 시점에
    • Connection 을 생성하여 쿼리를 요청할 수 있는 상태를 만들어 주고
    • Statement 를 생성하여 쿼리를 요청하게 해주고
    • ResultSet 을 생성해 쿼리 결과를 받아올 수 있게 해준다
    • 꼭 사용후에는 각각 close() 를 호출해서 자원 해제를 시켜줘야 한다.

1 Driver Manager로 getConnection()을 하게되면 Connection이 생성이 된다.

2 createStatement() 메서드를 실행하게 되면 Statement가 생성이 되고

3 그 상태에서 SELECT 쿼리를 날릴 때 executeQuery() 메서드를 날리는데 그러면 DB 에서 Driver가 데이터를 조회해서 결과값을 응답하게 된다.
그 응답 받은 값을 가지고 실제 Statement에서 값을 조회할 수 있게 된다.

5 만약 요청 처리하고난 후 사용하지 않는다면 꼭 close() 를 통해서 각각의 리소스를 해제시켜 주어야 한다.

profile
열쩡

0개의 댓글