4.자바 지구 화 기초-제3자 데이터베이스 연결 탱크:C3P 0
4783 단어 자바연결 탱크C3P 0 연결 탱크
현재 실제 개발 에서 유행 하 는 성능 이 우수한 제3자 데이터 베이스 연결 탱크 가 많이 존재 합 니 다.저 는 시간 을 들 여 연결 탱크 를 쓰 지 않 고 성능 과 안정성 등 요 소 를 고려 해 야 합 니 다.이미 만들어 진 것 이 있 는데 왜 사용 하지 않 습 니까?C3P 0 연결 탱크 의 사용 을 시도 해 보 세 요:
1.C3P 0 의 jar 패 키 지 를 다운로드 하고 가 져 옵 니 다.다운로드 주소:http://cn.jarfire.org/c3p0.html
2.데이터 원본 을 설정 하 는 데 세 가지 방법 이 있 습 니 다.
1.set 방법 으로 수 동 으로 설정
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass(props.getProperty("driverClass"));
cpds.setJdbcUrl(props.getProperty("jdbcUrl"));
cpds.setUser(props.getProperty("user"));
cpds.setPassword(props.getProperty("password"));
2.기본 속성 파일 c3p0.properties 설정(기본 값 이 라면 파일 이름 을 마음대로 변경 할 수 없습니다)
:
c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql://localhost:3306/jdbc
c3p0.user=root
c3p0.password=java
...
프로그램 에서 데이터 화 를 초기 화 하려 면 호출 만 하면 됩 니 다:ComboPooledDataSource cpds=new ComboPooledDataSource();속성 파일 을 자동 으로 해석 합 니 다.
3.클래스 경로 아래 기본 xml 프로필 설정:c3p0-config.xml
이 방식 은 두 번 째 방식 과 유사 하지만 설정 파일 을 이용 하면 다 중 데이터 원본 설정 을 지원 하고 default-config 와 named-config 두 가지 설정 방식 을 제공 하 는 것 이 좋 습 니 다.예 를 들 어:
// MySQL Oracle
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/day16</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">20</property>
<property name="minPoolSize">5</property>
<property name="maxStatements">200</property>
</default-config>
<named-config name="oracle">
<property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
<property name="jdbcUrl">jdbc:oracle:thin:@127.0.0.1:1521:ORCL</property>
<property name="user">scott</property>
<property name="password">tiger</property>
<property name="acquireIncrement">50</property>
<property name="initialPoolSize">100</property>
<property name="minPoolSize">50</property>
<property name="maxPoolSize">1000</property><!-- intergalactoApp adopts a different approach to configuring statement caching -->
<property name="maxStatements">0</property>
<property name="maxIdleTime">60</property>
<property name="maxStatementsPerConnection">5</property>
</named-config>
</c3p0-config>
default-config 는 기본 데이터 원본 설정 을 표시 합 니 다.named-config 는 사용자 정의 데이터 원본 을 표시 합 니 다.기본 데이터 원본 을 호출 하 는 것 은 두 번 째 방식 과 같 습 니 다.사용자 정의 데이터 원본 을 호출 하려 면 구조 적 방법 으로 사용자 정의 데이터 원본 이름 을 전달 하면 됩 니 다.예 를 들 어 위의 name 의"Oacle"과 같 습 니 다.
ComboPooledDataSource cpds = new ComboPooledDataSource(“oracle”);
데모 코드:
import java.sql.Connection;
import java.sql.SQLException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* C3P0
* @author Administrator
*
*/
public class DBManager {
private static final DBManager dbm = new DBManager();
static ComboPooledDataSource cpds = new ComboPooledDataSource("oracle");
private Connection conn = null;
public DBManager(){}
/**
*
* @return
*/
public synchronized Connection getConnection(){
try {
conn = cpds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
// ( )
public synchronized void getInfo() throws Exception{
System.out.println(cpds.getMaxPoolSize());//
System.out.println(cpds.getMinPoolSize());//
System.out.println(cpds.getNumBusyConnections());//
System.out.println(cpds.getNumIdleConnections());//
System.out.println(cpds.getNumConnections());//
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.