JDBC系列--数据库连接池

简介: JDBC系列--数据库连接池

概念


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

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


好处


节约资源

高效


实现


标准的接口: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



相关文章
|
12天前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
Java开发者必知:JDBC连接数据库的“三大法宝”
15 7
|
28天前
|
Java 数据库连接 网络安全
JDBC数据库编程(java实训报告)
这篇文章是关于JDBC数据库编程的实训报告,涵盖了实验要求、实验环境、实验内容和总结。文中详细介绍了如何使用Java JDBC技术连接数据库,并进行增删改查等基本操作。实验内容包括建立数据库连接、查询、添加、删除和修改数据,每个部分都提供了相应的Java代码示例和操作测试结果截图。作者在总结中分享了在实验过程中遇到的问题和解决方案,以及对Java与数据库连接操作的掌握情况。
JDBC数据库编程(java实训报告)
|
1月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
44 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
1月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
53 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
22天前
|
SQL Java 数据库连接
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。通过映射机制,它可以自动处理对象与数据库表之间的转换,支持主流数据库,提高了代码的可移植性和可维护性。其核心接口包括 SessionFactory、Session 和 Transaction 等,通过它们可以执行数据库的 CRUD 操作。配置方面,需在项目中引入 Hibernate 及数据库驱动依赖,并创建 `hibernate.cfg.xml` 配置文件来设置数据库连接和 Hibernate 行为参数。
27 1
|
29天前
|
SQL 存储 Java
完整java开发中JDBC连接数据库代码和步骤
该博客文章详细介绍了使用JDBC连接数据库的完整步骤,包括加载JDBC驱动、提供连接URL、创建数据库连接、执行SQL语句、处理结果以及关闭JDBC对象的过程,并提供了相应的示例代码。
|
1月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
27 6
|
1月前
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
28 4
|
1月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(中)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
22 3
|
2月前
|
Java 关系型数据库 MySQL
使用MySQL JDBC连接数据库
使用MySQL JDBC连接数据库