一些开源组织提供了数据源的独立实现:

DBCP数据库连接池

C3P0数据库连接池

Apache Tomcat内置的连接池

DBCP连接池

apache提供的连接池实现,需要导入common-dbcp.jar commons-pool.jar

import java.io.FileReader;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSourceFactory; public class DBCPTest {
public static void main(String[] args) throws Exception {
//导入配置文件
Properties prop=new Properties();
prop.load(new FileReader("dbcp.properties"));
//获取数据源
BasicDataSourceFactory factory=new BasicDataSourceFactory();
DataSource pool=factory.createDataSource(prop); Connection conn=pool.getConnection();
//获取传输器对象
Statement statement=conn.createStatement();
//获取结果集对象
ResultSet resultSet=statement.executeQuery("select * from user");
//遍历
while(resultSet.next()){
String username=resultSet.getString("username");
System.out.println(username);
}
//关闭资源
resultSet.close();
statement.close();
conn.close(); }
}

在项目目录下新建dacp.properties

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///java
username=root
password=root

C3P0连接池

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement; import com.mchange.v2.c3p0.ComboPooledDataSource; public class DBCPTest {
public static void main(String[] args) throws Exception {
//使用C3P0
ComboPooledDataSource pool=new ComboPooledDataSource();
Connection conn=pool.getConnection();
//获取传输器对象
Statement statement=conn.createStatement();
//获取结果集对象
ResultSet resultSet=statement.executeQuery("select * from user");
//遍历
while(resultSet.next()){
String username=resultSet.getString("username");
System.out.println(username);
}
//关闭资源
resultSet.close();
statement.close();
conn.close(); }
}

C3P0需要在类加载目录下新建c3p0-config.xml

<?xml version="1.0" encoding="utf-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///java</property>
<property name="user">root</property>
<property name="password">root</property>
</default-config>
</c3p0-config>

最新文章

  1. 数据仓库开发——Kettle使用示例
  2. git简易操作
  3. VB.NET WinForm获取运行程序用户名
  4. 关于JavaScript中apply与call的用法意义及区别
  5. 典型Event ID
  6. 错误: 找不到或无法加载主类 Files\apache-activemq-5.10.0\bin\..\conf\login.config
  7. MongoDB在window下的安装
  8. IntelliJ IDEA对开发者的三大诱惑
  9. erlang lists模块函数使用大全
  10. js的基础要点
  11. vscode添加prettier格式化自动加分号问题
  12. Job for docker.service failed because the control process exited with error
  13. git操作github仓库基本操作
  14. WORD中引用活动文档元素
  15. POJ-2236.WireleseNetwork.(并查集)
  16. 【转】python f-string
  17. Python 汉字转拼音
  18. Aria2+WebUI,迅雷倒下之后的代替品
  19. 【AtCoder010】A - Addition(奇偶)
  20. 拆分窗口QSplitter

热门文章

  1. cmd应用
  2. xml约束技术之dtd
  3. Jsp页面跳转和js控制页面跳转的几种方法
  4. Python3之collections模块
  5. P1979华容道(神仙题)
  6. loj2497 [PA2017]Banany(动态淀粉质)
  7. 2016级算法第三次上机-B.Bamboo和巧克力工厂
  8. bzoj2959: 长跑(LCT+并查集)
  9. js高级程序设计 笔记 --- 面向对象的程序设计
  10. find命令用法集锦