c3p0 连接池的基本使用方式| 学习笔记

简介: 快速学习 c3p0 连接池的基本使用方式.

开发者学堂课程【 JDBC 数据库开发进阶:c3p0 连接池的基本使用方式】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/32/detail/685


c3p0 连接池的基本使用方式


内容介绍

1.c3p0 简介

2.c3p0 的使用范例

 

1.c3p0 简介

是开元免费的连接池,比较受欢迎

 

2.c3p0 的使用范例:

package cn.bl.v4_DataSource.c3p0;

import java.sql.SQLException;

import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class Demo1 { 

/** * 方式1:使用纯Java方式
* @throws Exception */ @Test public void test1() throws Exception { ComboPooledDataSource source = new ComboPooledDataSource(); source.setDriverClass("com.mysql.jdbc.Driver"); source.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/aa?useUnicode=true&characterEncoding=utf-8"); source.setUser("root"); source.setPassword("000");
//获取链接
System.out.println(source.getConnection());

/*输出如下信息(除了最后一行,前面的其实都是自动输出的基本信息): 九月 23, 2018 11:40:45 上午 com.mchange.v2.log.MLog  

信息: MLog clients using java 1.4+ standard logging.

九月 23, 2018 11:40:45 上午 com.mchange.v2.c3p0.C3P0Registry banner

}
@Test
public void test2() throws SQLException {
//1.空参--默认配置
ComboPooledDataSource ds = new ComboPooledDataSource();
//2.带参--指定名称的配置
//ComboPooledDataSource ds = new ComboPooledDataSource("BarryLee

System.out.println(ds.getConnection()); //输出的信息类似test1 }  /* * 测试c3p0工具类 */ @Test public void testUtil() { System.err.println(C3P0Utils.getConnection()); } }

package cn.bl.v4_DataSource.c3p0; import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3P0Utils { private C3P0Utils() {} private static ComboPooledDataSource ds = null; private static ThreadLocaltLocal = new ThreadLocal<>(); static { ds = new ComboPooledDataSource();//读取默认配置文件 } public static DataSource getDataSource() { return ds; } public static Connection getConnection() { Connection con = tLocal.get(); if(con==null) { try {

con = ds.getConnection(); tLocal.set(con); } catch (SQLException e) { e.printStackTrace(); } } return con; } }  

图片17.png

相关文章
|
9月前
|
存储 Java 应用服务中间件
Session基本使用及原理和使用细节
Session基本使用及原理和使用细节
198 0
|
2月前
|
存储 SQL 数据库连接
连接池的工作原理
初始化连接池:在应用程序启动时,连接池会创建一组数据库连接,并将这些连接存储在一个容器(通常是一个集合或队列)中。 获取连接:当应用程序需要与数据库交互时,从连接池中获取一个空闲的连接。如果连接池中没有可用连接,应用程序可以选择等待或创建新的连接(如果连接池允许)。 使用连接:应用程序使用获取到的连接执行SQL操作。 归还连接:操作完成后,将连接归还到连接池,以便其他请求可以重用该连接。 维护连接池:连接池需要定期检查和维护连接的状态,例如清理长时间未使用的连接、验证连接的有效性等。
36 1
|
3月前
|
XML Java 数据库连接
如何使用HikariCP连接池来优化数据库连接管理
在Java应用中,高效管理数据库连接是提升性能的关键。本文介绍了如何使用HikariCP连接池来优化数据库连接管理。通过引入依赖、配置参数和获取连接,你可以显著提高系统的响应速度和吞吐量。 示例代码展示了从配置到使用的完整流程,帮助你轻松上手。
428 3
|
9月前
|
Java 数据库
线程池的原理和基本使用~
线程池的原理和基本使用~
|
SQL Java 数据库连接
源码分析系列教程(06) - 数据库连接池原理
源码分析系列教程(06) - 数据库连接池原理
68 0
|
关系型数据库 MySQL Java
MySQL数据库连接池的原理和使用方法
MySQL数据库连接池的原理和使用方法
|
NoSQL 算法 Java
Redis进阶-JedisCluster初始化 & 自动管理连接池中的连接 _ 源码分析
Redis进阶-JedisCluster初始化 & 自动管理连接池中的连接 _ 源码分析
650 0
|
SQL 关系型数据库 MySQL
Yii2.0如何设置数据库连接?底层原理是什么?
Yii2.0如何设置数据库连接?底层原理是什么?
374 0
|
Java 关系型数据库 MySQL
c3p0 连接池的基本使用方式| 学习笔记
快速学习 c3p0 连接池的基本使用方式.
143 0
c3p0 连接池的基本使用方式| 学习笔记
|
存储 缓存 监控
基于HiKariCP组件,分析连接池原理
HiKariCP作为SpringBoot2框架的默认连接池,号称是跑的最快的连接池,数据库连接池与之前两篇提到的线程池和对象池,从设计的原理上都是基于池化思想,只是在实现方式上有各自的特点;
379 0
基于HiKariCP组件,分析连接池原理