前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[javaEE] 开源数据库连接池

[javaEE] 开源数据库连接池

作者头像
唯一Chat
发布2019-09-10 16:32:09
9280
发布2019-09-10 16:32:09
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地

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

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>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-07-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档