数据库连接池

实现: 标准接口DataSource   javax.sql包下   

获取连接:getConnection    归还连接:如果连接对象Connection对象是从连接池取出来的,那么Connection.close( ),就不会再关闭连接了,而是归还链接

c3p0: 数据库连接池技术

druid: 数据库连接池实现技术,阿里巴巴提供

1,导入jar包2.定义并加载配置文件3.获取连接池对象:通过工厂来获取 DruidDataSourceFactory4. 获取连接:getConnection

基本使用:

 写一个工具类并测试该工具类:

配置文件:

package druid;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
 * 2020/2/1
 * 抽取Druid常用的方法为一个工具类
 */
public class DruidUtils {
    private static DataSource ds;
    static {
        try {
            Properties pro=new Properties();
            pro.load(DruidUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
            //获取DataSource
            ds=DruidDataSourceFactory.createDataSource(pro);
        } catch (IOException e) {
            e.printStackTrace();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    //获取连接
    public static Connection getConnection() throws SQLException {
        return ds.getConnection();
    }
    //释放资源
    public static void close(Statement statement,Connection connection){
        if(statement!=null){
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(connection!=null){
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    //获取连接池的方法
    public static DataSource getDs(){
        return ds;
    }
}


原文地址:https://www.cnblogs.com/laurarararararara/p/12249811.html