常用数据库连接池

数据库连接池

什么是数据库连接池?

​ 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个

使用数据库连接池带来的好处

  1. 减少代码冗余, 不用重复得去获取数据库连接.
  2. 提高项目的性能, 重复的去获取连接, 销毁连接, 会占用资源.

两种常用连接池介绍

  1. c3p0

    1. 背景介绍

      c3p0的作者是一个<<星球大战>>迷, 而其中的一个机器人就叫做c3p0, 这就是c3p0连接池名称的由来.

    2. 使用

      1. 导入c3p0的jar包

        在这里插入图片描述

      2. 编写配置文件

        注意: 配置文件的命名规范必须为c3p0-config才能被自动解析.

         <default-config>
          	<!--
          		连接参数 
        			driverClass: 数据库驱动
        			jdbcUrl: 数据库地址
        			user: 数据库登录名
        			password: 数据库登录密码
        			initialPoolSize: 连接池初始化连接数
        			maxPoolSize: 连接池最大连接数
        			checkoutTimeout: 连接超时等待时间
        	-->
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/db14</property>
            <property name="user">root</property>
            <property name="password">root</property>
            
            <!-- 连接池参数 -->
            <property name="initialPoolSize">5</property>
            <property name="maxPoolSize">10</property>
            <property name="checkoutTimeout">3000</property>
          </default-config>
        
        <!--
        	<named-config name="otherc3p0">   </named-config>
        	可以使用此标签配置多个数据库连接池
        -->
        
      3. 编写java代码, 获取连接池中的连接

        // 创建c3p0连接池
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        // 获取连接
        connection = dataSource.getConnection();
        
      4. 关闭连接

        // 此方法不会真的销毁连接, 而是将连接对象放会连接池中, 供其他人下次使用
        connection.close();
        
  2. druid

    1. 背景介绍

      Druid是阿里巴巴开发的号称为监控而生的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池。

    2. 下载地址

      https://github.com/alibaba/druid
      
    3. 使用

      1. 导入jar包
        在这里插入图片描述

      2. 配置properties文件

        # driverClassName: 数据库驱动
        # url: 数据库地址
        # username: 数据库登录名
        # password: 数据库登录密码
        # initialSize: 初始化连接数
        # maxActive: 最大连接数
        # maxWait: 超时等待时间
        driverClassName=com.mysql.jdbc.Driver
        url=jdbc:mysql://localhost:3306/test
        username=root
        password=root
        initialSize=5
        maxActive=10
        maxWait=2000
        
      3. java代码获取数据库连接对象

        //读取配置文件
        InputStream asStream = Druid.class.getResourceAsStream("/druid.properties");
        //创建属性集对象
        Properties properties = new Properties();
        //加载配置文件
        properties.load(asStream);
        //使用德鲁伊数据资源工厂, 创建连接池
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
        //获取连接对象
        Connection connection = dataSource.getConnection();
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值