JDBC--连接池

作者: 晨曦诗雨 | 来源:发表于2018-11-21 17:03 被阅读0次

    什么是数据库连接池

    有这样的一种现象:

    用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);
    
                  }
    
            }
    

    相关文章

      网友评论

        本文标题:JDBC--连接池

        本文链接:https://www.haomeiwen.com/subject/ykbqqqtx.html