[javaEE] 开源数据库连接池
2023-02-18 15:47:42 时间
一些开源组织提供了数据源的独立实现:
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>
相关文章
- 编译安装MySQL5.7
- MySQL的增删改查
- MySQL开启慢查询日志
- MySQL二进制日志截取和恢复
- MySQL备份恢复
- Ubuntu20.04安装MySQL5.7.18、jdk1.8、tomcat8.0.47
- 入选 Gartner 全球数据库魔力象限,腾讯云数据库是怎么做到的?
- 敏态扩展,灵活应变!TDSQL新引擎TDStore技术探索
- 记一次由于DDL语句导致的mysql满CPU线上事故
- 数据库update 随机时间-mysql多库表关联问题症结
- 数据库update 随机时间-FME【耕地资源质量分类年度更新】数据库表格汇总统计模板工具
- SQL注入从入门到进阶
- 内存数据库 mysql-mysql in memory_In-Memory:内存数据库
- delphi 数据库连接池-kettle案例3.5--数据库连接
- delphi 数据库连接池-Spring事务管理 | 数据库连接池流程原理分析
- delphi 数据库连接池-MySQL之数据库连接池(Druid)
- delphi 数据库连接池-c3p0,DBCP,Druid(德鲁伊)数据库连接池
- 揭晓:一条SQL语句的执行过程是怎么样的?
- 数据库update语法-MySQL数据库 | SQL语句详解
- SQL教程,完全理解SQL语法函数就差这10步