DB를 사용하기 위해 DB와 애플리케이션 간 통신을 할 수 있는 수단
일반적으로 통신이 끝나고나면 커넥션이 끊기고 새롭게 연결이 들어올 때 마다 커넥션을 다시 연결하여 처리를 하게 된다.
Thread Pool과 마찬가지로 DB에서 풀을 만들어 해당 풀에 연결을 기다리는 통신 링크들을 대기시켜 두는 방법이다.
이렇게 풀을 만들어 대기를 하게 함으로써 여러명의 요청이 오더라도 다시 커넥션을 만들 필요 없이 지속적으로 사용 가능하게 만든다.
내부에 들어가는 인자들인데,
minSize는 최소 크기, maxSize는 최대 풀의 숫자이고
idleTimeout은 사용자가 아무런 동작을 취하지 않은지 몇초가 지나면 연결을 끊겠다는 것
validationInterval은 들어오는 데이터가 DB 테이블 구조에 맞는지 유효성 검사를 하는 것이고
state는 DB의 현재 상태에 대해서 나타내며 현재 상태를 얻어서 특정 동작을 하게 하는 등에 사용 될 수 있는 것 같다.
이렇게 connectionPool을 생성했을 때 사용이 끝난 후, 메모리에 누수가 발생하지 않도록 Close를 해줄 필요가 있다.
커넥션 풀에 쿼리를 실행할 떄 사용하는 문장