前言:连接池管理数据库的连接,作用就是提高项目的性能。就是在连接池初始化的时候存入一定数量的连接,用的时候通过方法获取,不用的时候归还连接即可。常用的连接池是DBCP和C3P0,这一章节我们先来认识一下DBCP连接池的用法。
--------使用步骤------
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);
------
代码实现Demo----
1、硬解码添加数据(数据库使用的是《Java EE开发第四章:JDBC的基本使用》):
@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, "c0191");
st.setString(2, "饮p料");
int i = st.executeUpdate();
System.out.println(i);
//JdbcUtils.closeResource(conn, st, null);
}
2、文件配置添加数据:
@Test
public void f2() throws Exception{
//存放配置文件
Properties prop = new Properties();
prop.load(new FileInputStream("src/dbcp.properties"));
//设置
//prop.setProperty("driverClassName", "com.mysql.jdbc.Driver");
//创建连接池
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);
}
-----完------