DBCP
DBCP(Database Connection pool)
- 데이터베이스와 연결된 커넥션을 미리 만들어서 저장해두고 있다가 필요할 때 저장된 공간(pool)에서 가져다 쓰고 반환하는 기법을 말함
- 커넥션 풀을 이용하고 커넥션을 미리 만들어두고 사용하기 때문에 매번 사용자가 요청할 경우 드라이버를 로드하고, 커넥션 객체를 생성해 연결하고 종료하는
비효율적인 작업을 하지 않아도 된다.
- 즉 데이터베이스의 부하를 줄일 수 있고 자원을 효율적으로 관리할 수 있다.
JNDI
디렉토리 서비스에서 제공하는 데이터 및 객체를 발견(disover)하고 참고(lookup)하기 위한 자바 api
- 외부 was에서 있는 객체를 가져오기 위한 기술이다.
- 즉, DB POOL을 미리 NAMING시켜두는 방법(DB연결방법 중 하나)
- 우리가 저장해 놓은 waf의 데이터베이스 정보에 JNDI를 설정해 놓으면 웹 어플리케이션은 JNDI만 호출하면 간단해진다.
MyBatis
- 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발 프레임 워크로서 jdbc를 통해 데이터베이스에 엑세스하는 작업을
캡슐화하고 일반 sql쿼리, 저장 프로시저 및 고급 매핑을 지원하며 모든 jdbc코드 및 매개변수의 중복 작업을 제거합니다.
- MyBatis에서는 프로그램에 있는 sql쿼리들을 한 구성파일에 구성하여 프로그램 코드와 sql을 분리할 수 있는 장점을 가지고 있다.
- Mybatis는 기존 jdbc방식과 달리 sql문을 xml파일에 작성함으로써 코드가 줄어들고 sql문만 따로 관리하기 때문에 수정이 편해진다.
- 또한 dbcp를 사용하여 커넥션을 여러개 생성하기 때문에 jdbc만 사용하는 것보다 작업 효율과 가독성이 좋다.