使用连接池优化操作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);
代码展示
package com.jdbc.dbcp;
import java.io.FileInputStream;
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;
import org.junit.Test;
public class DbcpDemo {
@Test
//硬编码
public void f1() throws SQLException {
// 创建连接池
BasicDataSource ds= new BasicDataSource();
//配置信息
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql:///students");
ds.setUsername("root");
ds.setPassword("");
//获取连接
Connection conn=ds.getConnection();
//编写sql
String sql="insert into sinfor values(?,?)";
//创建语句执行者
PreparedStatement st=conn.prepareStatement(sql);
//设置参数
st.setString(1, "8");
st.setString(2, "aoteman");
//执行语句
int i=st.executeUpdate();
if(i==1) {
System.out.println("success");
}else {
System.out.println("fail");
}
//释放资源
jdbcutils2.closeResource(conn, st,null);
}
@Test
public void f2() throws Exception {
//存放配置文件
Properties prop=new Properties();
prop.load(new FileInputStream("src/dbcp.properties"));
//创建连接池
DataSource ds= new BasicDataSourceFactory().createDataSource(prop);
//获取连接
Connection conn=ds.getConnection();
//编写sql
String sql="insert into sinfor values(?,?)";
//创建语句执行者
PreparedStatement st=conn.prepareStatement(sql);
//设置参数
st.setString(1, "9");
st.setString(2, "xiaoli");
//执行语句
int i=st.executeUpdate();
if(i==1) {
System.out.println("success");
}else {
System.out.println("fail");
}
//释放资源
jdbcutils2.closeResource(conn, st,null);
}
}
备注:由于个人原因,本博客暂停更新。如有问题可联系本人,本人提供技术指导、学习方向、学习路线。本人微信wlp1156107728(添加注明来意) QQ1156107728(添加注明来意)