Java数据库连接池配置方式 JNDI Common-dbcp proxool c3p0

基于系统优化的目标,研究总结了一下工作中的用到的Java连接池。

这里都是单独配置。

        首先简单说明一下数据库连接池的概念  。数据库连接的获取 在系统中的开销是比较大的。连接池的目的就是系统初始一定数量的连接,有连接池动态的配置管理连接。

极大提高了系统的效率(当然是在配置得当的情况下)。

 

最早接触数据库连接池  是用的JNDI配置的   刚开始非常的不理解。现在看来 JNDI是比较好的 是在容器启动的时候 就初始化了  。

 

不管是哪一种连接池的方式。就是两点   

1 .添加相关的Jar;

2. 添加配置文件

 

 

A.最基础的 common-dbcp
  这个应该是应用比较早的数据库连接池。
       a.所需要的jar包在  官网可以下载
             http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi
       b.配置文件 xx.properties
        
     #连接设置
driverClassName=com.mysql.jdbc.Driver
url=jdbc\:mysql\://127.0.0.1\:3306/test
username=root
password=ucic


#<!-- 初始化连掿 10-->
initialSize=10


#朿大连接数釿50
maxActive=50


#<!-- 朿大空闲连掿20 -->
maxIdle=20


#<!-- 朿小空闲连掿 -->
minIdle=5


#<!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60秿 -->
maxWait=60000
 
     手动加载
     
     
package com.global.jdbc;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;

/**
 * @version 1.0
 * @author Ucic No 000
 *
 */
public final class BaseDataSource {
	
	// 定义数据源对象
	private static DataSource dataSource=null;
	static{
			 Properties pro=new Properties();
			 InputStream in=BaseDataSource.class.getClassLoader()
	 	.getResourceAsStream("com\\global\\jdbc\\xx.properties");
			try {
				pro.load(in);
				dataSource=BasicDataSourceFactory.createDataSource(pro);
			} catch (IOException e) {
				e.printStackTrace();
			} catch (Exception e) {
				e.printStackTrace();
			} 
	}
	// 获取数据源对象
	public static DataSource getDataSource() {
		return dataSource;
	}
	// 获得连接池中的一个连接
	public static Connection getConnection() throws SQLException {
		return dataSource.getConnection();
	}
}

B . proxool

 

这个 在一次做项目的时候 用到过 

       a.导入proxool-0.9.1.jar proxool-cglib.jar

       b.添加proxool.xml

     

<?xml version="1.0" encoding="UTF-8"?>
	<!--
		the proxool configuration can be embedded within your own
		application's. Anything outside the "proxool" tag is ignored.
	-->
<something-else-entirely>
	<proxool>
	
		<alias>maolv</alias> 
	<!-- 
		<driver-url>jdbc:mysql://localhost:3306/qianmaolv</driver-url>
		<driver-class>com.mysql.jdbc.Driver</driver-class> 
		<driver-properties>
			<property name="user" value="root" /> 
			<property name="password" value="ucic" />
		</driver-properties> 
		 -->
		 <driver-url>jdbc:mysql://118.123.253.130/ucicno002?characterEncoding=UTF-8</driver-url>
		<driver-class>com.mysql.jdbc.Driver</driver-class> 
		<driver-properties>
			<property name="user" value="ucicno002" /> 
			<property name="password" value="d5m6d2" />
		</driver-properties> 
		<maximum-connection-count>100</maximum-connection-count> 
		<minimum-connection-count>10</minimum-connection-count> 
		<house-keeping-sleep-time>90000</house-keeping-sleep-time>
		<maximum-new-connections>10</maximum-new-connections> 
		<prototype-count>5</prototype-count> 
		<test-before-use>true</test-before-use>
		<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
	</proxool>
</something-else-entirely> 


       

 

 

        

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值