[javaEE] 开源数据库连接池
一些开源组织提供了数据源的独立实现:
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>
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网