如何从c3p0数据库连接池里获取连接

首先说明本篇文章是作者参考尚硅谷宋红康老师讲授的JDBC技术进行整理之后编写的,所以在这里要先谢谢康师傅的讲授,然后下面跟着本篇文章一步步做就可以。

第一步首先需要在网上去下载好c3p0的jar包,这里给出百度网盘下载链接,提取码:abcd,建议下载在英文目录下,避免不必要的麻烦。
第二步在工程目录下新建一个名为lib的文件夹

步骤:选中你正在做的工程名,右键-->选择new-->选择Folder;注意名字要写lib,这是一种规范,填好之后确定,在你的工程目录下就会有一个lib的文件夹

第三步将下载好c3p0数据库连接池的压缩包解压,将里面lib目录下的如下两个包复制。

这里宋红康老师视频里只是复制了第一个包,但是可能是因为这个jar包的版本不同,这个版本需要将这两个包都复制下来。

第四步应用jar包

将刚才复制的两个jar包粘贴到工程目录下的新建的lib文件夹里,然后在lib包里选中第一个jar包(c3p0-0.9.5.5.jar),右键点击,选择Build path,再选择Add to Build path,只需要将第一个jar包进行操作,两个jar包就都会自动添加到工程自动创建的Referenced Libreries目录下,并且自动的应用到工程里。如图(作者为了演示将已经应用好的包拿出来了,所以报错)

弄好之后就是这样,前面有个类似于奶瓶的标志

第五步在src目录下创建名为c3p0-config.xml的文件。

右键选中src目录-->选择new-->选择XML文件,如果没有找到XML文件,就选择other项,下划就会有,如图

选中XML File,点击Next,在File name里将名字改为:c3p0-config,注意这里必须是这个名字。

点击Finsh完成创建,我这里因为已经有这个名字的文件夹了,就不能Finsh。

创建好之后如图,刚创建好这里是空白的,我这里已经进行了配置所以会有如下的信息,点击底部的Source切换为代码界面。

第六步详细的配置信息以及代码示例可以在下载的压缩包里找到;没有自己特殊的配置信息的要求的话可以直接复制下面的代码

步骤如下:进入解压后的包-->点击doc目录(一般代码说明文档会放在这个目录下)-->点击index.html就会进入官方的介绍界面-->在第12项里可以找到如图

也可以直接将如下基本配置的代码复制到该XML文件里,这里是参照宋红康老师讲授的已经修改好的配置。我这里是mysql的8版本的驱动包,所以是com.mysql.cj.jdbc.Driver。5版本的不用写中间的.cj

注意这里 <named-config name="helloc3p0">中的名字可以随便填,但是后面用到的时候需要保持一致。点击保存就配置好了。

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

	<named-config name="helloc3p0">
		<!-- 提供获取连接的4个基本信息 -->
		<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
		<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
		<property name="user">root</property>
		<property name="password">password</property>
		
		<!-- 进行数据路连接池管理的基本信息 -->
		<!-- 当数据库连接池中的连接数不够时,c3p0一次性向数据库服务器申请的连接数 -->
		<property name="acquireIncrement">5</property>
		<!-- c3p0数据库连接池中初始化时的连接数 -->
		<property name="initialPoolSize">10</property>
		<!-- c3p0数据库连接池维护的最少的连接数 -->
		<property name="minPoolSize">10</property>
		<!-- c3p0数据库连接池中维护的最多的连接数 -->
		<property name="maxPoolSize">100</property>
		<!-- c3p0数据库连接池最多维护的Statement的个数 -->
		<property name="maxStatements">50</property>
		<!-- 每个连接中可以最多使用的Statement的个数 -->
		<property name="maxStatementsPerConnection">2</property>

	</named-config>
</c3p0-config>

第七步最后可以新建一个单元测试方法对刚才的配置进行测试,从连接池获取一个连接并打印,有异常可以先抛出,毕竟只是测试连接池是否配置成功。测试代码如下
@Test
	public void test2() throws Exception {
		ComboPooledDataSource cpds = new ComboPooledDataSource("helloc3p0");
		Connection conn = cpds.getConnection();
		System.out.println(conn);
	}

注意代码中的字符串要和之前配置文件里的名字相同(记得先打开mysql服务)

测试成功如下(深呼吸,有红字是正常的,最下面有连接的信息就行)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值