数据库连接池和JDBCTemplate介绍

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 数据库连接池和JDBCTemplate介绍

1.数据库连接池

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

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

(2)好处:

节约资源用户访问高效

(3)实现:

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

方法:获取连接:getConnection()
归还连接:Connection.close()如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了,而是归还连接

2.一般我们不去实现他,有数据库厂商来实现

a.C3P0:数据库连接池技术b.Druid:数据库连接池实现技术,由阿里巴巴提供的

4)C3P0:数据库连接池技术

步骤:

1.倒入jar包(两个)   c3p0-0.9.1.2.jar     machange-commons-java-0.2.15.jar(不要忘记导入数据库驱动jar包)

2.定义配置文件

a.名称:c3p0.properties或者c3p0-config.xmlb.路径:直接将配置文件放在src目录下即可c.创建核心对象(数据库连接池对象;ComboPooledDataSource)d.获取连接:getConnection

配置文件书写方式

<?xmlversion="1.0"encoding="utf-8"?><c3p0-config><!--命名的配置--><default-config><!--连接数据库的4项基本参数--><propertyname="driverClass">com.mysql.cj.jdbc.Driver</property><!--&amp;表示的意思--><propertyname="jdbcUrl">jdbc:mysql://localhost:3306/news?serverTimezone=UTC&amp;useSSL=false</property><propertyname="user">root</property><propertyname="password">root</property><!--如果池中数据连接不够时一次增长多少个--><propertyname="acquireIncrement">5</property><!--初始化连接数--><propertyname="initialPoolSize">5</property><!--最小连接数--><propertyname="minPoolSize">5</property><!--最大连接数--><propertyname="maxPoolSize">40</property><!--JDBC的标准参数,用以控制数据源内加载的PrepareStatements数量--><propertyname="maxStatements">200</property><!--连接池内单个连接所拥有的最大缓存statements数--><propertyname="maxStatementsPerConnection">5</property></default-config><!--自定义配置(指定名称配置)--><named-configname="test1"><!--连接数据库的4项基本参数--><propertyname="driverClass">com.mysql.jdbc.Driver</property><propertyname="jdbcUrl">jdbc:mysql://localhost:3306/news?serverTimezone=UTC&amp;useSSL=false</property><propertyname="user">root</property><propertyname="password">123456</property><!--如果池中数据连接不够时一次增长多少个--><propertyname="acquireIncrement">5</property><!--初始化连接数--><propertyname="initialPoolSize">5</property><!--最小连接数--><propertyname="minPoolSize">5</property><!--最大连接数--><propertyname="maxPoolSize">40</property><!--JDBC的标准参数,用以控制数据源内加载的PrepareStatements数量--><propertyname="maxStatements">200</property><!--连接池内单个连接所拥有的最大缓存statements数--><propertyname="maxStatementsPerConnection">5</property></named-config></c3p0-config>

c3p0连接池测试代码

packagedatasource.c3p0;
importjava.sql.Connection;
importjava.sql.SQLException;
importjavax.sql.DataSource;
importcom.mchange.v2.c3p0.ComboPooledDataSource;
publicclassC3P0Demo1 {
publicstaticvoidmain(String[] args) throwsException {
//1.创建数据库连接池对象  括号里什么都不传,使用c3p0.config.xml中的默认配置DataSourceds=newComboPooledDataSource();
//2.获取连接对象Connectionconn=ds.getConnection();
//3.打印  注意:数据库连接jar包一定要导包System.out.println(conn);
    }
}

(5)Druid:数据库连接池实现技术,有阿里巴巴提供的

步骤:

1.导入jar包  druid-1.2.8.jar

2.定义配置文件;

后缀名为.properties形式的

可以自定义名称,可以放在任意目录下

3.加载配置文件 。properties

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

4.获取连接:getConnection

定义工具类

1.定义一个JDBCUtils

2.提供静态代码快加载配置文件,初始化连接池对象

3.提供方法

a.获取连接方法:通过数据库连接池获取连接

b.释放资源

c.获取连接池的方法

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
12月前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
655 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
SQL 数据库
Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码+讲解 【下篇】
这篇文章是Spring5框架的实战教程,深入讲解了如何使用JdbcTemplate进行数据库的批量操作,包括批量添加、批量修改和批量删除的具体代码实现和测试过程,并通过完整的项目案例展示了如何在实际开发中应用这些技术。
Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码+讲解 【下篇】
|
XML 数据库 数据格式
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
这篇文章是Spring5框架的实战教程的终结篇,介绍了如何使用注解而非XML配置文件来实现JdbcTemplate的数据库操作,包括增删改查和批量操作,通过创建配置类来注入数据库连接池和JdbcTemplate对象,并展示了完全注解开发形式的项目结构和代码实现。
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
|
SQL XML Java
Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码+讲解 【上篇】
这篇文章是Spring5框架的实战教程,详细讲解了如何使用JdbcTemplate进行数据库的增删改查操作,包括在项目中引入依赖、配置数据库连接池、创建实体类、定义DAO接口及其实现,并提供了具体的代码示例和测试结果,最后还提供了完整的XML配置文件和测试代码。
Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码+讲解 【上篇】
|
SQL druid Java
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解
152 1
|
Java 关系型数据库 MySQL
Spring Boot使用JdbcTemplate操作mysql数据库实战(附源码 超详细)
Spring Boot使用JdbcTemplate操作mysql数据库实战(附源码 超详细)
627 0
|
Oracle NoSQL 关系型数据库
SpringBoot-13-使用JdbcTemplate链接Mysql数据库
在企业项目开发者,数据库的使用是必不可少的一部分,常用的数据库有mysql、oracle、sqlserver、redis等,我们接下来的几章会介绍SpringBoot中如何使用数据库,本章就介绍使用JdbcTemplate链接mysql。
186 0
|
JSON 前端开发 数据库
JdbcTemplate实操查询数据库表中所有记录信息(十六课)
JdbcTemplate实操查询数据库表中所有记录信息(十六课)
155 0
|
SQL Java 关系型数据库
Spring Boot常用数据库开发技术总结:JDBCTemplate、JPA、Mybatis
1.概述 数据库开发一直是JAVA开发的核心之一,作为现在JAVA EE的基石框架,Spring Boot自身携带了一个JDBCTemplate框架,其对JDBC进行了基础的封装,使得Spring Boot原生就支持据库开发。同时Spring Boot也不排斥其它优秀的持久层框架,允许他们以极低的代价平滑的接入。 本文主要介绍最常用到的三个持久层框架,JdbcTemplate、JPA、mybatis如何接入Spring Boot并在其上进行开发。
501 0
|
Java 数据库 Spring
Spring学习(十):JdbcTemplate操作数据库实现查询功能
Spring学习(十):JdbcTemplate操作数据库实现查询功能
439 0
Spring学习(十):JdbcTemplate操作数据库实现查询功能

热门文章

最新文章