JDBC--连接池

什么是数据库连接池

有这样的一种现象:

用java代码操作数据库,需要数据库连接对象,一个用户至少要用到一个连接。现在假设有成千上百万个用户,就要创建十分巨大数量的连接对象,这会使数据库承受极大的压力,为了解决这种现象,一种技术出现了,这就是数据库连接池。

数据库连接池的原理

所谓数据库连接池,可以看作 :在用户和数据库之间创建一个”池”,这个池中有若干个连接对象,当用户想要连接数据库,就要先从连接池中获取连接对象,然后操作数据库。一旦连接池中的连接对象被拿光了,下一个想要操作数据库的用户必须等待,等待其他用户释放连接对象,把它放回连接池中,这时候等待的用户才能获取连接对象,从而操作数据库。

数据库连接池的属性

通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等
连接对象初始的数量:initSize,一开始就创建若干个,当不够时再添加

连接对象最大数量:maxSize,添加到最大值则不会再添加

DBCP连接池

druid连接池

DBCP的使用步骤
步骤一:导包,使用第三方的道具,必须导入相应的jar包。

需要导入两个jar包:commons-dbcp-1.4.jar包

commons-pool-1.5.6.jar包

c3p0连接池

简介:DBCP连接池是开源组织Apache软件基金组织开发的连接池实现。

事实上,tomcat服务器默认就会使用这个连接池道具。
下载jar包

   <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>
   /*
  设置注册属性
  * */
    private static final String driver ="com.mysql.jdbc.Driver";
    private static final String url = "jdbc:mysql://localhost:3306/mybatis";
    private static final String user = "root";
    private static final String password = "1qazxsw2";
    @Test
    public  void TestPool() throws SQLException {
            ComboPooledDataSource comboPooledDataSource=new ComboPooledDataSource();
            try {
                comboPooledDataSource.setDriverClass(driver);
                comboPooledDataSource.setJdbcUrl(url);
                comboPooledDataSource.setUser(user);
                comboPooledDataSource.setPassword(password);
            } catch (PropertyVetoException e) {
                e.printStackTrace();
            }
              for (int i=0;i<8;i++){
                Connection connection=comboPooledDataSource.getConnection();
                System.out.print(connection);

              }

        }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容