自定义数据库连接池

连接池原理:


image.png

目的:解决建立数据库连接耗费资源和时间很多的问题,提高性能。

传统JDBC的操作,对连接的对象销毁不是特别好.每次创建和销毁连接都是需要花费时间.可以使用连接池优化的程序.

  • 在程序开始的时候,可以创建几个连接,将连接放入到连接池中.用户使用连接的时候,可以从连接池中进行获取.用完之后,可以将连接归还连接池.
    【自定义连接池】(了解)
  • SUN公司提供了一个连接池的接口.(javax.sql.DataSource).
  • 定义一个连接池:实现这个接口.
  • 使用List集合存放多个连接的对象.

【自定义连接池的代码】
public class MyDataSource implements DataSource{
// 创建一个List集合用于存放多个连接对象.
private List<Connection> list = new ArrayList<Connection>();
// 在程序开始的时候,初始化几个连接,将连接存放到list中.
public MyDataSource() {
// 初始化3个连接:
for(int i=1;i<=3;i++){
Connection conn = JDBCUtils.getConnection();
list.add(conn);
}
}

@Override
// 获得连接的方法:
public Connection getConnection() throws SQLException {
    if(list.size() <= 0){
        for(int i=1;i<=3;i++){
            Connection conn = JDBCUtils.getConnection();
            list.add(conn);
        }   
    }
    Connection conn = list.remove(0);
    return conn;
}

// 归还连接的方法:
public void addBack(Connection conn){
    list.add(conn);
}

...
}


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容