DBCP连接池

  • DBCP:

DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar,commons-pool.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。

【DBCP连接池的使用】

第一步:引入DBCP连接池的jar包.

第二步:配置文件:

* 配置文件名称:*.properties

* 配置文件位置:任意 建议src

db.properties代码如下:

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/test

username=root

password=111

第三步:编写工具类DBCPUtils:

 

public class DBCPUtils {

private static DataSource dataSource;

static{

try {

//1.加载找properties文件输入流

InputStream is = DBCPUtils.class.getClassLoader().getResourceAsStream(“db.properties”);

//2.加载输入流

Properties props = new Properties();

props.load(is);

//3.创建数据源

dataSource = BasicDataSourceFactory.createDataSource(props);

} catch (Exception e) {

throw new RuntimeException(e);

}

}

 

public static DataSource getDataSource(){

return dataSource;

}

 

public static Connection getConnection(){

try {

return dataSource.getConnection();

} catch (SQLException e) {

throw new RuntimeException(e);

}

}

}

第四步:测试

@Test

public void DBCPTest(){

Connection conn=null;

PreparedStatement pstmt = null;

try {

conn=DBCPUtils.getConnection();

String sql=”update user set password=? where username=?”;

pstmt=conn.prepareStatement(sql);

pstmt.setString(1, “1111”);

pstmt.setString(2, “zs”);

int rows= pstmt.executeUpdate();

if(rows>0){

System.out.println(“更新成功!”);

}else{

System.out.println(“更新失败!”);

}

} catch (Exception e) {

throw new RuntimeException(e);

}

}

 

发表评论