JDBC系列--数据库连接池

454 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

概念

其实就是一个容器(集合),存放数据库连接的容器

当系统初始化好后,容器被初始化,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完后,会将连接对象返回给容器

好处

节约资源

高效

实现

标准的接口:DataSource javax.sql包下的

方法:

获取连接:getConnection()

归还连接:Connection.close().如果连接对象Connection是从连接池中获取的,那么调用Connection.close()不在是关闭连接,而是归还连接

2.这个接口,一般不由人为实现,而是有数据库厂商来实现

C3P0:数据库连接池技术

Druid:数据库连接池实现技术,由阿里提供

一、C3P0:数据库连接池技术

步骤:

1.导入jar包

c3p0-0.9.5.2.jar

mchange-commons-java-0.2.12.jar

还有驱动jar包

2.定义配置文件

名称:c3p0.properties或者c3p0-config.xml

路径:直接将文件放在src目录下即可

3.创建核心对象

数据库连接池对象 ComboPoolDataSource

4.获取连接

getConnection

了解即可

二、Druid:数据库连接池实现技术

1.写入jar包

druid-1.e.9.jar

2.定义配置文件

是properties形式的(properties 性能) 可以叫任意名称,可以放在任意目录下

3.获取数据库连接池对象:通过工厂类来获取

DruidDataSourceFactory

4.获取连接

getConnection

5.实例

 package com.caq.datasource.druid;
 import com.alibaba.druid.pool.DruidDataSourceFactory;
 ​
 import javax.sql.DataSource;
 import java.io.InputStream;
 import java.sql.Connection;
 import java.util.Properties;
 ​
 public class DruidDemo01 {
     public static void main(String[] args) throws Exception {
         //1.导入Jar包
         //2.定义配置文件
         //3.加载配置文件
         Properties pro = new Properties();
         InputStream is = DruidDemo01.class.getClassLoader().getResourceAsStream("druid.properties");//得到输出流
         pro.load(is);//获取文件的路径
         //4.获取连接池对象
         DataSource ds = DruidDataSourceFactory.createDataSource(pro);
         //5.获取连接
         Connection conn = ds.getConnection();
         System.out.println(conn);
     }
 }
 ​
 输出结果为:
 十月 20, 2021 10:32:02 下午 com.alibaba.druid.pool.DruidAbstractDataSource error
 严重: maxIdle is deprecated
 十月 20, 2021 10:32:03 下午 com.alibaba.druid.pool.DruidDataSource info
 信息: {dataSource-1} inited
 com.mysql.jdbc.JDBC4Connection@6956de9