[javaEE] 开源数据库连接池

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

DBCP数据库连接池

C3P0数据库连接池

Apache Tomcat内置的连接池

 

DBCP连接池

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

 

import java.io.FileReader;
 java.sql.Connection;
 java.sql.ResultSet;
 java.sql.Statement;
 java.util.Properties;

 javax.sql.DataSource;

 org.apache.commons.dbcp.BasicDataSourceFactory;

public class DBCPTest {
    static void main(String[] args) throws Exception {
        //导入配置文件
        Properties prop=new Properties();
        prop.load(new FileReader("dbcp.properties"));
        获取数据源
        BasicDataSourceFactory factory= 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连接池

 java.sql.Statement;

 com.mchange.v2.c3p0.ComboPooledDataSource;

使用C3P0
        ComboPooledDataSource pool= ComboPooledDataSource();
        Connection conn=        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="jdbcUrl">jdbc:mysql:///java="user">root="password">
>

 

 

相关文章

@ 注解能被用来为程序元素( 类、 方法、 成员变量等) 设置...
@ 1、线性表的概念 线性表是最常见也是最简单的一种数据结构...
简介 ArrayList是开发中使用比较多的集合,它不是线程安全的...
在 Java String类源码阅读笔记 里学习了String类的源码,Str...
话不多说,先上图。 1、基本概念 欲说线程,必先说进程。 进...
@ 网络基础 计算机网络是指两台或更多的计算机组成的网络,在...