数据库连接池

和自甴很熟 提交于 2020-02-01 20:55:43

实现: 标准接口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;
    }
}

 

 

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!