连接池概述
连接池就是连接的池子,如果一次性创建多个连接,把连接放在连接池中(连接池在内存中),在内存中获取连接肯定比创建连接要快,并且连接用完后也不需要销毁,再把连接返回到内存中,这样就节省了创建和销毁的时间。
自定义数据库连接池
1、实现DataSource(javax.sql)接口
2、重写getConnection()方法
dbcp连接池
使用BasicDataSource类创建dataSource对象,然后获取连接
c3p0连接池
使用ComboPooledDataSource类创建dataSource对象,然后获取连接
package com.c3p0;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import org.junit.Test;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.utils.MyJDBCUtil;
/**
* 使用c3p0连接池
* @author 58351
*
*/
public class C3p0Demo {
@Test
public void testC3p0(){
Connection conn = null;
PreparedStatement stmt = null;
try {
//使用c3p0连接池获取数据源
//默认去src目录下去寻找c3p0-config.xml配置文件
ComboPooledDataSource dataSource = new ComboPooledDataSource();
//配置数据源