c3p0连接池模板

Jun 07, 2016 pm 04:10 PM
젠허 기술 주형 관리하다 완충기 연결하다

连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。 我现在做一个p3c0连接池的模板。 首先p3c0是开源的,所以去官网下载p3c0的jar包。在工程中导入,同时要下载你连接数据库的驱动 连接池模板代码如下: package com.fish

 

连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。

我现在做一个p3c0连接池的模板。

首先p3c0是开源的,所以去官网下载p3c0的jar包。在工程中导入,同时要下载你连接数据库的驱动

 

连接池模板代码如下:

package com.fish;



import java.beans.PropertyVetoException;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ResourceBundle;



import com.mchange.v2.c3p0.ComboPooledDataSource;



/**

* 连接数据库的工具类,被定义成不可继承且是私有访问

*/

public final class DBTool {

//采用配置文件的方式配置连接池的一些信心,这个是配置文件的名字

final private static String OPTION_FILE_NAME = "mysqldatabase";

private static Connection conn;



static ResourceBundle res;

//连接池的类

static ComboPooledDataSource cpds;



static {

//从配置文件中获取文件

res = ResourceBundle.getBundle(OPTION_FILE_NAME);

//创建一个连接池

cpds = new ComboPooledDataSource();

//驱动名

String driver = res.getString("jdbc.driver");

//连接url

String url = res.getString("jdbc.url");

//数据库用户名

String user = res.getString("jdbc.username");

//数据库密码

String password = res.getString("jdbc.password");

//连接池的最大连接数

String poolMax = res.getString("c3p0.maxPoolSize");

//连接池的最小连接数

String poolMin = res.getString("c3p0.minPoolSize");

//当资源用尽时,允许连接的数目

String PoolAcquireIncrement = res.getString("c3p0.acquireIncrement");



try {

cpds.setDriverClass(driver);

} catch (PropertyVetoException e) {

System.out.println("驱动没找到");

}



cpds.setJdbcUrl(url);

cpds.setUser(user);

cpds.setPassword(password);

cpds.setMinPoolSize(Integer.parseInt(poolMin));

cpds.setAcquireIncrement(Integer.parseInt(PoolAcquireIncrement));

cpds.setMaxPoolSize(Integer.parseInt(poolMax));



}



/**

* 获取数据库的连接

*

* @return conn

*/

public static Connection getConnection() {

try {

conn = cpds.getConnection();

} catch (SQLException e) {

System.out.println("连接失败");

}

return conn;

}



/**

* 释放资源

*

*/

public static void closeJDBC(Connection conn, Statement statement,

ResultSet rs) {

if (null != rs) {

try {

rs.close();

} catch (SQLException e) {

e.printStackTrace();

throw new RuntimeException(e);

} finally {

if (null != statement) {

try {

statement.close();

} catch (SQLException e) {

e.printStackTrace();

throw new RuntimeException(e);

} finally {

if (null != conn) {

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

}

}

}

}

}

}
로그인 후 복사

2.mysqldatabase.properties文件如下:

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://127.0.0.1:3306/datacenter3

jdbc.username=root

jdbc.password=1234

c3p0.maxPoolSize = 30

c3p0.minPoolSize = 10

c3p0.acquireIncrement =10
以后你要连接什么数据库直接在这个文件里面修改。



测试:例子

package com.fish;

public class Test2 {

public static void main(String[] args) throws Exception {

System.out.println(DBTool.getConnection());

}

}


输出结果:

2014-11-16 14:44:04 com.mchange.v2.log.MLog <clinit>

信息: MLog clients using java 1.4+ standard logging.

2014-11-16 14:44:04 com.mchange.v2.c3p0.C3P0Registry banner

信息: Initializing c3p0-0.9.2.1 [built 20-March-2013 11:16:28 +0000; debug? true; trace: 10]

2014-11-16 14:44:04 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager

信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 10, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 1hge1d1951evdfumup12ui|5ffb18, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge1d1951evdfumup12ui|5ffb18, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql://127.0.0.1:3306/datacenter3, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 30, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 10, numHelperThreads -> 3, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, userOverrides -> {}, usesTraditionalReflectiveProxies -> false ]

com.mchange.v2.c3p0.impl.NewProxyConnection@d19bc8
로그인 후 복사

 

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

체지방 측정기 연결 방법 체지방 측정기 연결 방법 Mar 07, 2024 pm 04:50 PM

Keep 체지방 측정기 연결 방법 Keep에는 특별히 고안된 체지방 측정기가 있지만 대부분의 사용자는 Keep 체지방 측정기 연결 방법을 모릅니다. 다음은 Keep 체지방 측정기 연결 방법에 대한 그래픽 튜토리얼입니다. 편집자가 사용자에게 제공합니다. 관심 있는 사용자가 와서 살펴보세요! Keep 체지방 측정기 연결 방법 1. 먼저 Keep 소프트웨어를 열고 메인 페이지로 이동하여 오른쪽 하단에 있는 [내]를 클릭하여 [스마트 하드웨어]를 선택합니다. 2. 그런 다음 내 스마트 장치 페이지에서 중앙의 [기기 추가] 버튼을 클릭한 후 인터페이스를 추가하려는 기기를 선택하고 [스마트 체지방/체중 측정기]를 선택합니다. 4. 그런 다음 기기 모델 선택 페이지에서 [체지방 측정기 유지] 옵션을 클릭합니다. 5. 마지막으로 아래 표시된 인터페이스에서 마지막으로 하단에 [지금 추가]를 선택합니다.

PHP 형식 행을 CSV로 변환하고 파일 포인터 쓰기 PHP 형식 행을 CSV로 변환하고 파일 포인터 쓰기 Mar 22, 2024 am 09:00 AM

이 기사에서는 PHP가 행을 CSV로 형식화하고 파일 포인터를 작성하는 방법에 대해 자세히 설명합니다. 매우 실용적이므로 이 기사를 읽고 뭔가를 얻을 수 있기를 바랍니다. 행을 CSV로 포맷하고 파일 포인터에 씁니다. 1단계: 파일 포인터 열기 $file=fopen("path/to/file.csv","w") 2단계: fputcsv( ) 함수를 사용하여 행을 CSV 문자열로 변환합니다. CSV 문자열로. 이 함수는 다음 매개변수를 허용합니다: $file: 파일 포인터 $fields: 배열로서의 CSV 필드 $delimiter: 필드 구분 기호(선택 사항) $enclosure: 필드 따옴표(

Stable Diffusion 3 논문이 드디어 공개되고, 아키텍처의 세부 사항이 공개되어 Sora를 재현하는 데 도움이 될까요? Stable Diffusion 3 논문이 드디어 공개되고, 아키텍처의 세부 사항이 공개되어 Sora를 재현하는 데 도움이 될까요? Mar 06, 2024 pm 05:34 PM

StableDiffusion3의 논문이 드디어 나왔습니다! 이 모델은 2주 전에 출시되었으며 Sora와 동일한 DiT(DiffusionTransformer) 아키텍처를 사용합니다. 출시되자마자 큰 화제를 불러일으켰습니다. 이전 버전과 비교하여 StableDiffusion3에서 생성된 이미지의 품질이 크게 향상되었습니다. 이제 다중 테마 프롬프트를 지원하고 텍스트 쓰기 효과도 향상되었으며 더 이상 잘못된 문자가 표시되지 않습니다. StabilityAI는 StableDiffusion3이 800M에서 8B 범위의 매개변수 크기를 가진 일련의 모델임을 지적했습니다. 이 매개변수 범위는 모델이 많은 휴대용 장치에서 직접 실행될 수 있어 AI 사용이 크게 줄어든다는 것을 의미합니다.

DualBEV: BEVFormer 및 BEVDet4D를 크게 능가하는 책을 펼치세요! DualBEV: BEVFormer 및 BEVDet4D를 크게 능가하는 책을 펼치세요! Mar 21, 2024 pm 05:21 PM

본 논문에서는 자율 주행에서 다양한 시야각(예: 원근 및 조감도)에서 객체를 정확하게 감지하는 문제, 특히 원근(PV) 공간에서 조감(BEV) 공간으로 기능을 효과적으로 변환하는 방법을 탐구합니다. VT(Visual Transformation) 모듈을 통해 구현됩니다. 기존 방법은 크게 2D에서 3D로, 3D에서 2D로 변환하는 두 가지 전략으로 나뉩니다. 2D에서 3D로의 방법은 깊이 확률을 예측하여 조밀한 2D 특징을 개선하지만, 특히 먼 영역에서는 깊이 예측의 본질적인 불확실성으로 인해 부정확성이 발생할 수 있습니다. 3D에서 2D로의 방법은 일반적으로 3D 쿼리를 사용하여 2D 기능을 샘플링하고 Transformer를 통해 3D와 2D 기능 간의 대응에 대한 주의 가중치를 학습하므로 계산 및 배포 시간이 늘어납니다.

OnePlus 시계를 Bluetooth 헤드셋에 연결하는 방법_OnePlus 시계를 Bluetooth 헤드셋에 연결하는 방법 OnePlus 시계를 Bluetooth 헤드셋에 연결하는 방법_OnePlus 시계를 Bluetooth 헤드셋에 연결하는 방법 Mar 23, 2024 pm 01:16 PM

1. 이어폰을 이어폰 상자에 넣고 뚜껑을 열어둔 상태로 상자의 버튼을 길게 눌러 이어폰 페어링 상태로 들어갑니다. 2. 음악 감상 기능을 켜고 블루투스 헤드폰을 선택하거나, 시계 설정 기능에서 블루투스 헤드폰을 선택하세요. 3. 성공적으로 페어링하려면 시계에서 헤드셋을 선택하세요.

게임 컨트롤러를 Gohan Arcade에 연결하는 단계 게임 컨트롤러를 Gohan Arcade에 연결하는 단계 Mar 19, 2024 pm 03:55 PM

블루투스 컨트롤러를 Gohan Arcade에 연결하는 방법은 무엇입니까? 손오공 게임센터는 많은 모바일 게임 플레이어들이 사용하는 게임 박스로, 다수의 인기 게임 리소스와 풍부한 게임 관련 기능을 담고 있습니다. 아래에서는 게임 컨트롤러 연결 방법을 소개하겠습니다. 1. 먼저 Gohan Game Center APP 홈페이지로 이동한 후 홈페이지 오른쪽 하단에 있는 "내" 옵션을 클릭합니다. 2. 내 페이지에서 [컨트롤러] 기능을 찾으면 위치가 그림에 표시됩니다. 3. 선택하여 켜십시오. 휴대폰의 Bluetooth 기능의 경우 컨트롤러의 전원이 켜져 있는지 확인하십시오. 4. 마지막으로 컨트롤러의 지침에 따라 일치하는 연결을 만드십시오. 접속에 성공하면 모바일 게임을 이용하여 다양한 게임을 체험할 수 있습니다.

연결이 비공개가 아닌 Edge를 해결하는 세 가지 방법 연결이 비공개가 아닌 Edge를 해결하는 세 가지 방법 Mar 13, 2024 pm 01:30 PM

Edge 브라우저를 사용하여 웹 페이지에 액세스할 때 연결이 전용 연결이 아니어서 웹 탐색이 실패한다는 메시지가 표시된 적이 있습니까? 어떻게 진행되고 있나요? 많은 친구들이 이 문제를 해결하는 방법을 모릅니다. 다음 세 가지 해결 방법을 살펴볼 수 있습니다. 방법 1(간단하고 투박함): 엣지 브라우저에서 설정에 들어가 보안 기능을 끄고, 웹사이트 권한에서 위치 접근권한을 차단하는 방법으로 웹사이트 접속이 불가능한 문제를 해결해 볼 수 있습니다. 이 접근법의 효과와 기간은 다양할 수 있으며 구체적인 효과를 확인할 수 없다는 점에 유의하는 것이 중요합니다. 브라우저를 다시 시작한 후 웹사이트를 방문하여 문제가 해결되었는지 확인할 수 있습니다. 방법 2: 키보드를 영어 입력으로 조정

Huawei 팔찌에 연결하는 방법 Huawei 팔찌에 연결하는 방법 Mar 07, 2024 pm 09:46 PM

Keep을 Huawei 팔찌에 연결하는 방법 Keep 소프트웨어에서 Huawei 팔찌를 연결할 수 있습니다. 대부분의 사용자는 Huawei 팔찌를 연결하는 방법을 모릅니다. 다음은 편집자가 가져온 Huawei 팔찌에 연결하는 방법에 대한 그래픽 튜토리얼입니다. 그리고 한번 보세요! Keep을 Huawei 팔찌에 연결하는 방법 1. 먼저 Keep 애플리케이션을 열고 메인 페이지 오른쪽 하단의 [Me]를 클릭하여 특수 영역으로 들어간 후 [Smart Hardware]를 선택합니다. 2. 그런 다음 내 스마트 장치에 도전합니다. 기능 페이지를 클릭하고 중앙에 있는 [장치 추가]를 클릭합니다. 3. 그런 다음 추가하려는 장치를 선택하는 페이지에서 [스마트 팔찌/시계] 기능을 선택합니다. 4. 마지막으로 아래 표시된 인터페이스에서 연결할 화웨이 시계 모델.

See all articles