본문 바로가기
헷갈리는 것

JDBC / SQL Mapper / ORM / DBCP

by 불면증김씨 2022. 2. 2.

           JDBC / DBCP / SQL Mapper / ORM / DBCP         

 

각 DB와의 연결을 드라이버를 통해 하고 있으며 이 때문에 어떤 한 DB에 종속적으로 적용되지 않는다.

DB를 바꿔야 할 때, 드라이버만 바꿔준다면, 코드의 수정이 없어도 잘 쓸 수 있다. 여기서 오라클에 연결되는 드라이버가 OJDBC이다.

 

 

JDBC(Java DataBase Connectivity)

자바에서 데이터베이스에 연결하기 위한 인터페이스인 자바 API

 

DBCP(DataBase Connection Pool)

JDBC의 떨어지는 효율을 보완한 방법이다.

JDBC는 DB연결 시 마다 Driver를 로드하고 커넥션 객체를 얻는 작업을 반복한다. 이 부분을 효율적으로 처리해준다.

WAS실행 시 미리 일정량의 DB Connection 객체를 생성하고 Pool이라는 공간에 저장해 둔다. 그리고 DB연결 요청 시, Pool에서 Connection 객체를 가져다 쓰고 반환한다.

JDBC와 DBCP의 관계를 정리하자면, Java에서 DB와 연결하기 위해선 JDBC를 필요로 하며, JDBC를 이용해 생성한 Connection을 효율적으로 활용하기 위해 Connection 객체를 관리하는 것을 DBCP의 개념으로 보면 된다.

 

SQL Mapper

객체(Object)와 SQL 문을 매핑하여 데이터를 객체화하는 기술을 뜻한다.

 

MyBatis

MyBatis 는 SQL Mapper의 일종으로 JDBC를 이용해서 DB에 SQL을 실행하는 것에 대한 방식을 개발적인 관점에서 좀 더 편하고 관리하기 쉽게 만든 Wrapper LIB 개념.

 

ORM

DB의 record와 객체를 매핑(ORM)

객체(Object)와 관계형 데이터베이스(RDBMS)을 매핑하여 데이터베이스 테이블을 객체지향적으로 사용하기 위한 기술이다. ORM을 사용한다면, SQL문 작성 없이 매핑하는 설정만으로 DB 테이블내의 데이터를 객체로 전달 받을 수 있다.

댓글