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