1. 简单介绍
DBCP(DataBase Connection Pool)数据库连接池,是java数据库连接池的一种,由Apache开发,通过数据库连接池,可以让程序自动管理数据库连接的释放和断开。百度百科DBCP
2. 使用步骤
导入jar包(commons-dbcp-1.4.jar和commons-pool-1.5.6.jar),这些包都可以在官网下载,或者百度云下载链接:http://pan.baidu.com/s/1eSALKlk 密码:wlu9
使用代码如下:
@Test
public void f1() throws SQLException {
BasicDataSource ds = new BasicDataSource();
//配置信息
ds.setDriverClassName("com.mysql.jdbc.Driver");//注册驱动
ds.setUrl("jdbc:mysql:///yourdb?useSSL=false");//url
ds.setUsername("root");//数据库用户名
ds.setPassword("123456");//数据库密码
Connection conn = (Connection) ds.getConnection();
String sql = "insert into category values(?, ?)";
PreparedStatement st = (PreparedStatement) conn.prepareStatement(sql);
st.setString(1, "c999");
st.setString(2, "drink");
int i = st.executeUpdate();
if(i == 1) {
System.out.println("success");
} else {
System.out.println("fail");
}
}
表结构什么的就不说了,主要是得到DataSource就好了,不过dbcp用的是BasicDataSource()而已
下面讲讲怎么通过配置文件的方式
- 如何配置文件
- 编写一个properties文件,文件名为dbcp.properties,然后向文件中写入:
#连接基本设置
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/day07_db?useSSL=false
username=root
password=123456
实现jdbc操作:
@Test
public void f2() throws Exception {
Properties prop = new Properties();
try {
prop.load(new FileInputStream("src/dbcp.properties"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DataSource ds = new BasicDataSourceFactory().createDataSource(prop);
Connection conn = (Connection) ds.getConnection();
String sql = "insert into category values(?, ?)";
PreparedStatement st = (PreparedStatement) conn.prepareStatement(sql);
st.setString(1, "c998");
st.setString(2, "drink");
int i = st.executeUpdate();
if(i == 1) {
System.out.println("success");
} else {
System.out.println("fail");
}
}