資料庫連線池的使用
資料庫連線池的使用
資料庫連線池的原理
關於資料庫連線池的原理,不再進行太多的闡述,我隨手在網上找了一個相關介紹的部落格,可以進行了解,連結如下:
http://blog.csdn.net/shuaihj/article/details/14223015資料庫連線池的種類
1.Apache commons-dbcp 連線池
下載:http://commons.apache.org/proper/commons-dbcp/2.c3p0 資料庫連線池
下載:http://sourceforge.net/projects/c3p0/資料庫連線池的使用
本例使用c3p0資料庫連線池
import java.beans.PropertyVetoException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public final class ConnectionManager {
// 表示定義資料庫的使用者名稱
private static String USERNAME;
// 定義資料庫的密碼
private static String PASSWORD;
// 定義資料庫的驅動資訊
private static String DRIVER;
// 定義訪問資料庫的地址
private static String URL;
// 使用單利模式建立資料庫連線池
private static ConnectionManager instance;
private static ComboPooledDataSource dataSource;
static {
// 載入資料庫配置資訊,並給相關的屬性賦值
loadConfig();
}
public static void loadConfig() {
try {
InputStream in = ConnectionManager.class
.getResourceAsStream("/JDBCConfig.properties");
Properties properties = new Properties();
properties.load(in);
USERNAME = properties.getProperty("jdbc.username");
PASSWORD = properties.getProperty("jdbc.password");
DRIVER = properties.getProperty("jdbc.driver");
URL = properties.getProperty("jdbc.url");
} catch (Exception e) {
throw new RuntimeException("載入資料庫配置檔案異常!!!!", e);
}
}
private ConnectionManager() throws SQLException, PropertyVetoException {
dataSource = new ComboPooledDataSource();
dataSource.setUser(USERNAME); // 使用者名稱
dataSource.setPassword(PASSWORD); // 密碼
dataSource.setJdbcUrl(URL);// 資料庫地址
dataSource.setDriverClass(DRIVER);
dataSource.setInitialPoolSize(5); // 初始化連線數
dataSource.setMinPoolSize(1);// 最小連線數
dataSource.setMaxPoolSize(10);// 最大連線數
dataSource.setMaxStatements(50);// 最長等待時間
dataSource.setMaxIdleTime(60);// 最大空閒時間,單位毫秒
}
public static final ConnectionManager getInstance() {
if (instance == null) {
try {
instance = new ConnectionManager();
} catch (Exception e) {
e.printStackTrace();
}
}
return instance;
}
public synchronized final Connection getConnection() {
Connection conn = null;
try {
conn = dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
相關文章
- 【MySQL】自定義資料庫連線池和開源資料庫連線池的使用MySql資料庫
- PROXOOL資料庫連線池使用資料庫
- java資料庫連線池dbcp的使用Java資料庫
- 資料庫連線池資料庫
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- 資料庫連線池的理解資料庫
- WASCE的資料庫連線池資料庫
- 請關掉你的資料庫連線!並且請使用資料庫連線池資料庫
- 資料庫連線池原理資料庫
- Proxool資料庫連線池資料庫
- JAVA資料庫連線池Java資料庫
- Flask資料庫連線池Flask資料庫
- 資料庫連線池的工作原理資料庫
- Druid資料庫連線池使用體驗UI資料庫
- python資料庫連線池Python資料庫
- 手寫資料庫連線池資料庫
- 瞭解資料庫連線池資料庫
- 資料庫連線池淺析資料庫
- JNDI配置資料庫連線池資料庫
- 關於資料庫連線池資料庫
- .net 資料庫連線池配置資料庫
- 資料庫連線池實現資料庫
- Javaweb-資料庫連線池JavaWeb資料庫
- 資料庫連線池_druid基本使用&工具類資料庫UI
- 利用weblogic的POOL(連線池)連線資料庫 (轉)Web資料庫
- MySql資料庫連線池專題MySql資料庫
- JavaWeb之事務&資料庫連線池JavaWeb資料庫
- mysql資料庫連線池配置教程MySql資料庫
- Python資料庫連線池DButilsPython資料庫
- 聊聊資料庫連線池 Druid資料庫UI
- JDBC資料庫連線池實現JDBC資料庫
- DBCP 資料連線池的配置和使用
- 4、資料庫連線池的概念及C3P0、Uruid兩種連線池的使用資料庫UI
- 資料庫連線池的實現及原理資料庫
- druid資料庫連線池的配置類UI資料庫
- Python 中的 MySQL 資料庫連線池PythonMySql資料庫
- hibernate資料庫連線池的問題資料庫