常用的开源的数据库连接池

1,DBCP


这个是一个比较早期的开源的数据库连接池。是Apache下面的一个子项目。

使用分三步:1,导包 2,配置 3,使用

1,导包
有两个方式导包,第一去Apache官网下载jar包,第二去DBCP官网 下载

导包

下载jar包

把jar包放到项目中,并且add as library

配置

connectionProperties=useSSL=false;characterEncoding=utf8

有默认值,可以不配置

initialSize=5
maxTotal=10
注意:配置文件的名字,和配置文件的路径,是用户可以自己定义的

使用

static DataSource dataSource;
​
// 初始化
static {
​
    // 加载配置文件
    Properties properties = new Properties();
    try {
        properties.load(new FileInputStream("dbcp.properties"));
​
        // 创建数据库连接池
        dataSource = BasicDataSourceFactory.createDataSource(properties);
​
​
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
​
​
}

2.C3p0

  • 介绍:是一个开源的数据库连接池官网
  • 导包

配置

在 类路径下面(目前是src)声明一个配置文件,名字叫做 c3p0-config.xml

xml文件类似于 html文件,其实就是一个由各个标签组成的一个文件

xml文件夹解析追踪会被解析为一个 dom树,标签是一个树结构的

xml文件最初被创建出来其实是为了 系统系统之间的 内容传输,目前这个功能被JSON 取代了,但是目前xml文件更多的是被用来当配置文件

<c3p0-config>
    <!--
    特殊字符 要写转义字符
            转义字符
    &       &amp;
    >       &gt;
    <       &lt;
    -->
    <default-config>
        <property name="user">root</property>
        <property name="password">123456</property>
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/41th?useSSL=false&amp;characterEncoding=utf8</property>
        <property name="maxPoolSize">30</property>
        <property name="minPoolSize">10</property>
    </default-config>
​
​
    <!--<named-config name="intergalactoApp "> -->
            <!--<property name="maxPoolSize">1000</property> -->
        <!--<property name="minPoolSize">100</property> -->
        <!--<property name="numHelperThreads">50</property> -->
    <!--</named-config> -->
</c3p0-config>

使用

static DataSource dataSource;
​
static {
​
    // 采用 intergalactoApp 对应的配置
    // dataSource = new ComboPooledDataSource("intergalactoApp");
    // 使用默认的配置
    dataSource = new ComboPooledDataSource();
​
}
​
// 获取连接
public static Connection getConnection(){
​
    Connection connection = null;
    try {
        connection = dataSource.getConnection();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return connection;
​
}

注意:C3p0的配置文件必须在类路径(src)下,必须名字叫做 c3p0-config.xml

3.Druid

  • Druid是目前国内使用最广的数据库连接池。目前已经由alibaba捐赠给了apache,由apache来维护Druid数据库连接池的特点:
  • 国产的(Alibaba)
  • 官方地址
  • 导包

配置

在任意路径下配置一个properties配置文件即可

driverClassName=com.mysql.jdbc.Driver
username=root
password=123456
url=jdbc:mysql://localhost:3306/41th?useSSL=false&characterEncoding=utf8
​
# 以下为一些 缺省配置,如果配置之后,会覆盖默认的配置
initialSize=10
maxActive=20

使用

static DataSource dataSource;
​
static {
​
    try {
​
        // 初始化datasource
        Properties properties = new Properties();
        properties.load(new FileInputStream("druid.properties"));
        dataSource = DruidDataSourceFactory.createDataSource(properties);
​
    }catch (Exception ex) {
        ex.printStackTrace();
    }
​
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇