JDBC连接池 —— DBCP

来源:互联网 发布:淘宝白菜群对商家 编辑:程序博客网 时间:2024/06/05 00:49


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.Driverurl=jdbc:mysql:///day07username=rootpassword=123




原创粉丝点击