import java.beans.PropertyVetoException;
import org.springframework.jdbc.core.JdbcTemplate;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class SqlConnection {
/**
* 通过C3PO包创建联接池C3PO连接池
* C3PO支持JDBC 3.0规范,可以实现
* 连接的自动关闭
* 接收三个参数,数据库名,用户名,密码
* @return
*/
public ComboPooledDataSource getDateSource(String database,String user,String pwd){
//生成连接池数据源对象
ComboPooledDataSource dataSource = new ComboPooledDataSource();
try {
//设置数据源对象的数据库驱动包
dataSource.setDriverClass("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//设置数据库连接URL
dataSource.setJdbcUrl("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName="+database);
//设置数据库登录用户名
dataSource.setUser(user);
//设置数据库登录密码
dataSource.setPassword(pwd);
//设置连接池最大和最小连接数
dataSource.setMaxPoolSize(5);
dataSource.setMinPoolSize(2);
} catch (PropertyVetoException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//返回连接池对象
return dataSource;
}
/**
* 根据C3PO 连接池对象返回Spring的JDBCTemplate
* 对象,Spring通过JdbcTemplate实现的对数据库的所有
* 操作
* @return
*/
public JdbcTemplate springJdbcTemplate(ComboPooledDataSource dataSource){
//生成JdbcTemplate模版对象
JdbcTemplate template = new JdbcTemplate();
//设置模版对象的数据源
template.setDataSource(dataSource);
//返回对象
return template;
}
}
package com.test;
import org.apache.commons.dbcp.BasicDataSource;
public class Dbcp {
/**
* 创建DBCP连接池
* DBCP支持JDBC 2.0标准,
* 不能进行自动关闭连接,必须用户
* 手动关闭连接
* @param database数据库名
* @param user用户名
* @param pwd密码
* @return
*/
public BasicDataSource createPool(String database,String user,String pwd){
//创建数据源对象
BasicDataSource dataSource = new BasicDataSource();
//设置驱动
dataSource.setDriverClassName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//设置连接
dataSource.setUrl("jdbc:microsoft:sqlserver://127.0.0.1;DatabaseName="+database);
//设置登录用户
dataSource.setUsername(user);
//设置登录密码
dataSource.setPassword(pwd);
//设置最大最小连接数
dataSource.setMaxIdle(5);
dataSource.setMinIdle(2);
return dataSource;
}
}