连接池的介绍及应用

数据库连接池
池是一个容器,在内存中就是一片空间,用于存储程序中的数据
连接池:就是讲连接对象存放在一个容器中,当需要连接时,就直接从连接池中获取一个连接进行使用,用完连接后再将连接换回连接池中
传统方式(不使用连接池)每次创建一个连接进行使用,用完连接后就将连接直接关闭,对于数据库来说,频繁的创建连接和关闭连接会非常的消耗资源,而且浪费时间,会导致程序执行效率降低,连接也无法复用
使用连接池操作数据库,可以创建一个池子,在程序一启动时,就初始化一批连接放在连接池中,当用户需要连接时,就直接从池子中拿一个连接进行使用,当连接用完后,也不要将连接关闭,而是将连接还回池中,下一个用户需要连接时,也是如此。这样一来,用来用去都是池中这一批连接,可以减少创建和关闭的次数
如何使用c3p0连接池
其他连接池:dbcp,c3p0,druid
1.导入开发包
2.创建数据库连接池对象
3.设置数据库连接的基本信息
4…基于一个连接池获取一个连接对象
5.强连接再换回连接池中
代码如下:

package com.tedu.c3p0;
/**
 * 测试c3p0连接池的使用
 * @author Administrator
 *
 */

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.tedu.Util.jdbcUtil;

public class TeatC3P0 {
	@Test
	public void testFindAll() {
		Connection conn=null;
		Statement stat=null;
		ResultSet rs=null;
		//创建一个连接池对象
		ComboPooledDataSource pool=new ComboPooledDataSource();
		try {
			//设置连接数据库的基本信息
			pool.setDriverClass("com.mysql.jdbc.Driver");
			pool.setJdbcUrl("jdbc:mysql://localhost:3306/jt_db?characterEncoding=utf-8");
			pool.setUser("root");
			pool.setPassword("root");
			//获取一个连接对象
			conn=pool.getConnection();
			stat=conn.createStatement();
			String sql="select*from account ";
			rs=stat.executeQuery(sql);
			while(rs.next()) {
				int id=rs.getInt("id");
				String name=rs.getString("name");
				double money=rs.getDouble("money");
				//处理结果
				System.out.println(id+":"+name+":"+money);
			}
			
			
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			//将连接还回连接池中
			 
			jdbcUtil.close(conn, stat, rs);
		}
		
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值