您的位置:首页 > 数据库

数据库连接池快速入门

2020-01-15 11:40 1636 查看

为何要使用连接池

我们在日常进行数据库操作的时候,每一次都要申请资源,在使用完成之后释放资源。这种操作是非常浪费资源的做法,我们为了解决的这个问题,就引入了数据库连接池。

数据库连接池
概念:其实就是一个容器(集合),存放数据库连接的容器,
当系统初始化好后,容器被创建,容器会申请一些连接对象,存储在容器中,当用户来访问数据库时,从容其中获取连接对象,用户访问完毕之后,会将连接对象归还容器。
好处:

  1. 节约资源
  2. 高效

数据库连接池的实现
1.标准接口:DataSource javax.sql包下的
1.方法:
*获取连接:getConnection()
*归还连接:如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会关闭连接,而是归还连接到连接池。
2.一般我们不自己去实现他,由数据库厂商来实现
1.C3P0
2.Druid:由阿里巴巴提供的数据库连接池

C3P0数据库连接池的使用

1. 导入jar包

一共有两个jar包:
1.mchange-commons-java-0.2.11
2.c3p0-0.9.5.2

2. 定义配置文件

名称:c3p0.properties或者c3p0.xml

<?xml version="1.0" encoding="UTF-8"?>

<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/day09</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="mySource">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/day09</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>
</named-config>
</c3p0-config>

3. 创建核心对象,数据库连接池对象:

ComboPooledDataSource

4. 获取连接:
getConnection()

代码示例:

//1.创建数据库连接池
ComboPooledDataSource cpds = new ComboPooledDataSource();
//2.获取连接
try {
con = cpds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println(con);

Druid数据库连接池
基本操作和C3P0相同:

1. 导入jar包

2. 定义配置文件

是properties文件,可以叫做任何的名称,放在任意的目录下

3.加载配置文件

InputStream is = DruidDemo.class.getClassLoader().getResourceAsStream("druid.properties");
Properties pro = new Properties();
pro.load(is);

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

DruidDataSourceFactory

5. 获取连接

DataSource dataSource = DruidDataSourceFactory.createDataSource(pro);
Connection conn = dataSource.getConnection();
System.out.println(conn);

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Love_Beans! 发布了20 篇原创文章 · 获赞 6 · 访问量 1344 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: