Day3_JDBC——C3P0数据库连接池的创建

一. 数据库管理的工具类

包含以下的方法:

  1. 获取连接和是释放连接的方法
  2. 通过第三方的数据库连接池实现数据库连接的管理,提高效率

二.C3P0数据库连接池的创建步骤

1.导入连接池的jar包
C3P0:jar包放在libs文件夹里面,C3P0的配置文件放在src类路径下
DBCP:如果是DBCP,需放入jar包和另一个依赖包,下一篇会讲到
2. 修改c3p0-config.xml
设置url地址,修改数据库的账号密码
3. 一个项目中只能有一个连接池
4. 获取连接时,从连接池获取

三. 例子

项目结构如下:
在这里插入图片描述
c3p0-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
  <!-- named-config的name属性值就是当前配置的一套配置名
       在创建连接池时可以根据配置名加载此套配置信息
   -->
  <named-config name="webDataSource">
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/myemployees?rewriteBatchedStatements=true
    </property>
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="user">root</property>
    <property name="password">123456</property>
    <!-- 最小连接数 -->
    <property name="minPoolSize">5</property>
    <!-- 最大连接数 -->
    <property name="maxPoolSize">30</property>
    <!-- 初始化的连接数 -->
    <property name="initialPoolSize">10</property>
     <!-- 需要时一次性创建的连接数 -->
    <property name="acquireIncrement">5</property>
    <!-- 缓存多少个Statement对象 -->
     <property name="maxStatements">15</property>
   </named-config>
</c3p0-config>

JDBCUtils.java

package com.atguigu.utils;

import java.sql.Connection;
import java.sql.SQLException;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class JDBCUtils {
         //需要使用的数据库连接池来自于第三方,创建对象时使用c3p0的连接实现类
	     private static DataSource source = new ComboPooledDataSource("webDataSource");
	     
	     //获取连接的工具方法
	     public static Connection getConn() {
	    	   Connection conn = null;
	    	   try {
				conn = source.getConnection();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	    	   return conn;
	     }
	     
	     //管理连接,以后的操作是通过第三方的工具DBUtils实现数据的增删改查
	     public static void closeConn(Connection conn) {
	    	    if(conn != null) {
	    	    	try {
						conn.close();
					} catch (SQLException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
	    	    }
	     }
}

TestJDBCUtils.java

package com.atguigu.test;

import java.sql.Connection;

import org.junit.jupiter.api.Test;

import com.atguigu.utils.JDBCUtils;

class TestJDBCUtils {
    
	//测试获取连接的工具类
	@Test
	public void test01() {
		Connection conn = JDBCUtils.getConn();
		System.out.println(conn);
		JDBCUtils.close();
	}

}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值