1, 데이터베이스 연결 풀 솔루션입니다 :
응용 프로그램이 시작되면, 시스템이 자동으로 충분한 데이터베이스 연결을 구축하고, 이러한 연결은 연결 풀을 형성한다. 때마다 응용 프로그램 연결을 다시 열지 않고, 데이터베이스 연결을 요청하지만 사용이 더 이상 연결을 종료하지만, 직접 풀에 반환 연결되면 연결 풀에서 기존 연결을 제거하지 않습니다.
2, 데이터베이스 연결 풀 연결 객체 팩토리. 의 javax.sql.DataSource (데이터 소스)를 사용하여 데이터베이스 JDBC 연결 풀 데이터 소스를, DBCP, C3P0 등의 오픈 소스 구현을 갖는 전용 인터페이스를 나타낸다.
3 DBCP 데이터 소스
관련 jar 파일 :
1 "공유지-dbcp.jar는 : 연결 풀을 구현합니다.
2 "평민 - pool.jar : 연결 구현 종속성을 풀링.
예 커넥터 방법 :
// 데이터 소스 오브젝트 만들기 = BasicDataSource의 DS의를 새 새 , BasicDataSource의 ()의 // 드라이브 설정 ds.setDriverClassName ( "com.mysql.jdbc.Driver" ); // URL 데이터베이스 연결 설정 ds.setUrl을 ( "JDBC : mysql을 : / / 로컬 호스트 : 3306 / 세계 " ); // 데이터베이스에 연결하는 사용자의 이름으로 설정 ds.setUsername ("루트 " ); // 암호 데이터베이스 연결 설정 ds.setPassword ("1234 " ); // 설정 한 연결 풀의 초기 연결 번호 ds.setInitialSize (5. ); // 연결 풀 활성 연결의 최대 숫자 수 설정 ds.setMaxActive (20이다 ); // 적어도 두 개의 가능한 연결을 제공하는 연결 풀 ds.setMinIdle (2);
전체 응용 프로그램은 하나의 데이터 소스를 필요로한다. 의 이용에 대해 :
// 데이터 소스 연결을 통해 데이터베이스를 가져 오기 ) (연결 CONN = ds.getConnection;
데이터베이스 액세스 후, 평소와 같이 데이터베이스 연결을 닫습니다.
// 데이터베이스 연결을 해제. 실제로 연결 풀에 돌려 보냈다. conn.close ();
4 C3P0 데이터 소스
C3P0가 자동으로 사용에 더 이상 연결을 정리할 수 있습니다, 그것은 또한 자동으로 문 및 결과 집합 청소 할 수 없습니다.
항아리 包 : c3p0-0.9.1.2.jar
연결 예 :
// 데이터 소스 오브젝트 만들기 ComboPooledDataSoruce DS = 새 새 ) ComboPooledDataSoruce을 ( // 설정된 드라이브 ds.setDriverClassName ( "com.mysql.jdbc.Driver" ); // URL 데이터베이스 연결 설정 ds.setUrl ( "JDBC를 : MySQL이 : / / 로컬 호스트 : 3306 / 세계 " ) // 데이터베이스 연결하기위한 사용자 이름을 설정 루트 ds.setUsername를 (" " ); // 데이터베이스에 연결하는 암호가 설정 ds.setPassword ("1234 " ); // 연결을 연결 풀의 최대 수를 설정 ds.setMaxPoolSize (40 ); // 설정된 최소 연결 풀 연결 ds.setMinPoolSize (10 ); // 연결 풀의 초기 번호 설정 ds.setInitialPoolSize (10 ); // 연결 풀의 최대 개수의 캐시 정책을 설정할 ds.setMaxStatements (180);
전체 응용 프로그램은 하나의 데이터 소스를 필요로한다. 의 이용에 대해 :
// 데이터 소스 연결을 통해 데이터베이스를 가져 오기
) (연결 CONN = ds.getConnection;
데이터베이스 액세스 후, 평소와 같이 데이터베이스 연결을 닫습니다.
데이터베이스 연결을 해제 //. 실제로 연결 풀에 돌려 보냈다.
conn.close ();