本文主要是介绍JDBC连接池 —— DBCP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
DBCP:(理解)
apache组织
使用步骤:
1.导入jar包(commons-dbcp-1.4.jar和commons-pool-1.5.6.jar)
2.使用api
a.硬编码
//创建连接池
BasicDataSource ds = new BasicDataSource();
//配置信息
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql:///day07");
ds.setUsername("root");
ds.setPassword("1234");
b.配置文件
实现编写一个properties文件
//存放配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/dbcp.properties"));
//设置
//prop.setProperty("driverClassName", "com.mysql.jdbc.Driver");
//创建连接池
DataSource ds = new BasicDataSourceFactory().createDataSource(prop);
/*** DbcpDemo.java*/
package com.datasource.dbcp;import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.Properties;import javax.sql.DataSource;import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.junit.Test;import com.utils.JdbcUtils;public class DbcpDemo {@Test// 硬编码public void f1() throws Exception {//创建连接池BasicDataSource ds = new BasicDataSource() ;//配置信息ds.setDriverClassName("com.mysql.jdbc.Driver");ds.setUrl("jdbc:mysql:///day07");ds.setUsername("root");ds.setPassword("123");Connection conn = ds.getConnection() ;String sql = "insert into category values(?,?)" ;PreparedStatement st = conn.prepareStatement(sql) ;//设置参数st.setString(1, "c011");st.setString(2,"饮料") ;int i = st.executeUpdate() ;System.out.println(i);// 自己实现的工具类 ,参照博客 —— "JDBC基础操作"JdbcUtils.closeResource(conn, st, null);}@Testpublic void f2() throws Exception {
// // 存放配置文件
// Properties prop = new Properties() ;
//
// //设置
// prop.setProperty("driverClassName", "com.mysql.jdbc.Driver") ;// 以上操作还是硬编码的形式// 存放配置文件Properties prop = new Properties() ;prop.load(new FileInputStream("src/dbcp.properties")) ;//创建连接池DataSource ds = new BasicDataSourceFactory().createDataSource(prop) ;Connection conn = ds.getConnection() ;String sql = "insert into category values(?,?)" ;PreparedStatement st = conn.prepareStatement(sql) ;//设置参数st.setString(1, "c012");st.setString(2,"饮料1") ;int i = st.executeUpdate() ;System.out.println(i);JdbcUtils.closeResource(conn, st, null);}
}// jdbc.propertiesdriverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///day07
username=root
password=123
这篇关于JDBC连接池 —— DBCP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!