使用C3P0改造JDBC對(duì)數(shù)據(jù)庫(kù)的連接
本文實(shí)例為大家分享了使用C3P0改造JDBC對(duì)數(shù)據(jù)庫(kù)的連接,供大家參考,具體內(nèi)容如下
1.Connection對(duì)象在JDBC使用的時(shí)候.使用的時(shí)候就會(huì)去創(chuàng)建一個(gè)對(duì)象,使用結(jié)束以后就會(huì)將這個(gè)對(duì)象給銷(xiāo)毀了.每次創(chuàng)建和銷(xiāo)毀對(duì)象都是耗時(shí)操作.需要使用連接池對(duì)其進(jìn)行優(yōu)化.程序初始化的時(shí)候,初始化多個(gè)連接,將多個(gè)連接放入到池中(內(nèi)存中).每次獲取的時(shí)候,都可以直接從連接池中進(jìn)行獲取.使用結(jié)束以后,將連接歸還到池中。
本文介紹的連接池為:C3P0
2.使用步驟
導(dǎo)入jar包:c3p0-0.9.1.2.jar
在src文件夾下創(chuàng)建c3p0-config.xml文件
使用C3P0連接池
3.代碼實(shí)現(xiàn)
package lesson15_jdbc;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class C3P0_lianjiechi {
public static void main(String[] args) {
//使用自定義配置
ComboPooledDataSource dataSource1=new ComboPooledDataSource();
//使用自定義配置
//ComboPooledDataSource dataSource2 = new ComboPooledDataSource("");
//建立連接
try{
Connection conn = dataSource1.getConnection();
String sql="select * from 1_mytable1";
PreparedStatement pst=conn.prepareStatement(sql);
ResultSet res = pst.executeQuery();
while(res.next()){
System.out.println(res.getString("n")+"->"+res.getString("age")+"->"+res.getString("gender"));
}
res.close();
pst.close();
conn.close();
}catch (SQLException e){
e.printStackTrace();
}
}
}
4.c3p0-config.xml配置文件(如下)
<c3p0-config> <!-- 默認(rèn)配置,如果沒(méi)有指定則使用這個(gè)配置 --> <default-config> <!-- 基本配置 --> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/1_mydata</property> <property name="user">root</property> <property name="password">123456</property> <!--擴(kuò)展配置--> <property name="checkoutTimeout">30000</property> <property name="idleConnectionTestPeriod">30</property> <property name="initialPoolSize">10</property> <property name="maxIdleTime">30</property> <property name="maxPoolSize">100</property> <property name="minPoolSize">10</property> <property name="maxStatements">200</property> </default-config> <!-- 命名的配置 --> <named-config name="Space_c3p0"> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/1_mydata</property> <property name="user">root</property> <property name="password">123456</property> <!-- 如果池中數(shù)據(jù)連接不夠時(shí)一次增長(zhǎng)多少個(gè) --> <property name="acquireIncrement">5</property> <property name="initialPoolSize">20</property> <property name="minPoolSize">10</property> <property name="maxPoolSize">40</property> <property name="maxStatements">20</property> <property name="maxStatementsPerConnection">5</property> </named-config> </c3p0-config>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JDBC連接MySQL數(shù)據(jù)庫(kù)批量插入數(shù)據(jù)過(guò)程詳解
- JDBC利用C3P0數(shù)據(jù)庫(kù)連接池連接數(shù)據(jù)庫(kù)
- Java JDBC連接數(shù)據(jù)庫(kù)常見(jiàn)操作總結(jié)
- Java使用JDBC連接postgresql數(shù)據(jù)庫(kù)示例
- 使用JDBC連接Mysql數(shù)據(jù)庫(kù)會(huì)出現(xiàn)的問(wèn)題總結(jié)
- JDBC連接MySql數(shù)據(jù)庫(kù)步驟 以及查詢(xún)、插入、刪除、更新等
- JDBC數(shù)據(jù)庫(kù)連接步驟解析
相關(guān)文章
Springboot啟動(dòng)執(zhí)行特定代碼的方式匯總
這篇文章主要介紹了Springboot啟動(dòng)執(zhí)行特定代碼的幾種方式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
HttpServletResponse亂碼問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了HttpServletResponse亂碼問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
IDEA中配置Python環(huán)境并運(yùn)行方式
本文介紹了在Mac和Windows平臺(tái)上安裝Python環(huán)境的方法,并詳細(xì)講解了如何在IntelliJ IDEA中安裝Python插件、創(chuàng)建Python工程和運(yùn)行Python文件,同時(shí),還提到了一些常用的Python框架,如Django、Google App Engine和SQL支持2025-03-03
Linux 下通過(guò) java 命令啟動(dòng) jar 包常見(jiàn)方式小結(jié)
這篇文章主要介紹了Linux 下通過(guò) java 命令啟動(dòng) jar 包常見(jiàn)方式小結(jié),后臺(tái)啟動(dòng)jar包命令大致有五種,每種方式結(jié)合代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2023-12-12
SpringBoot整合mybatis通用Mapper+自定義通用Mapper方法解析
這篇文章主要介紹了SpringBoot整合mybatis通用Mapper+自定義通用Mapper方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Java使用TCP實(shí)現(xiàn)數(shù)據(jù)傳輸實(shí)例詳解
這篇文章主要介紹了Java使用TCP實(shí)現(xiàn)數(shù)據(jù)傳輸實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06
JAVA中使用FTPClient實(shí)現(xiàn)文件上傳下載實(shí)例代碼
本文給大家介紹如何利用jakarta commons中的FTPClient(在commons-net包中)實(shí)現(xiàn)上傳下載文件。非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-06-06
HotSpot的Java對(duì)象模型之Oop-Klass模型詳解
這篇文章主要介紹了HotSpot的Java對(duì)象模型之Oop-Klass模型詳解,在JVM層面,不僅Java類(lèi)是對(duì)象,Java 方法也是對(duì)象, 字節(jié)碼常量池也是對(duì)象,一切皆是對(duì)象,JVM使用不同的oop-klass模型來(lái)表示各種不同的對(duì)象,需要的朋友可以參考下2023-08-08

