您的位置:首页 > 其它

JDBC之连接池

2017-10-18 21:36 211 查看

连接池

连接池的概念

连接池:存放多个连接对象的容器,因为,我们没获取一次连接对象,底层会很耗费资源,那连接池,能够高效的管理连接对象。

常见的连接池产品:DBCP C3P0 其实就是第三放jar包

DBCP

简单介绍:

阿帕奇基金组织出品的,高效的管理连接对象

操作步骤

1.导入JDBC和C3P0的jar包



2.使用(有两种形式硬编码和软编码两种形式,推荐使用软编码形式)

package org.xupt.dbcp;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;

public class DBCPDEMO {
public static void main(String[] args) throws SQLException, Exception, IOException {
//硬编码形式
/*
//创建对象
BasicDataSource ds = new BasicDataSource();
//设置参数
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql:///mydemo");
ds.setUsername("root");
ds.setPassword("root");
//获得预编译对象
Connection conn = ds.getConnection();
String sql = "insert into student values(?,?)";
PreparedStatement stat = conn.prepareStatement(sql);
stat.setString(1, "朱佩瑶");
stat.setInt(2, 20);
stat.executeUpdate();
ds.close();
stat.close();
*/
//软编码格式
Properties prop = new Properties();
prop.load(new FileInputStream("src/dbcp.properties"));
DataSource ds = BasicDataSourceFactory.createDataSource(prop);
Connection conn = ds.getConnection();
String sql = "insert into student values(?,?)";
PreparedStatement stat = conn.prepareStatement(sql);
stat.setString(1, "任凯");
stat.setInt(2, 22);
stat.executeUpdate();
}
}


C3P0

简单介绍

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

操作步骤

1.导入jar包

2.使用软编码形式编写

public class C3P0demo {
public static void main(String[] args) throws SQLException  {
ComboPooledDataSource ds = new ComboPooledDataSource();
Connection connection = ds.getConnection();
String sql = "insert into student values(?,?)";
PreparedStatement stat = connection.prepareStatement(sql );
stat.setString(1, "我女儿");
stat.setInt(2, -5);
stat.executeUpdate();
ds.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jdbc