完整教程:C3P0连接池适配HGDB

文档用途

讲解常用的并且需要与数据库进行交互的开源框架C3P0,以及C3P0框架是如何适配HGDB的。

详细信息

1.C3P0概述

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。

2.C3P0使用

Maven项目中c3p0依赖,pom.xm文件配置如下:

<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.2.1</version>
</dependency>
<dependency>
<groupId>highgo</groupId>
<artifactId>highgo</artifactId>
<version>5.0-42</version>
</dependency>

在以spring、mybatis、c3p0为框架搭建的项目案例中,spring配置文件中,c3p0部分连接参数示例,如下:

<bean id="dataSource"
  class="com.mchange.v2.c3p0.ComboPooledDataSource" >
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="driverClass" value="${jdbc.driverClassName}"/>
<!-- 连接池中保留的最大连接数。默认值: 15 -->
  <property name="maxPoolSize" value="20"/>
  <!-- 连接池中保留的最小连接数,默认为:3 -->
    <property name="minPoolSize" value="2"/>
    <!-- 初始化连接池中的连接数,取值应在minPoolSize与maxPoolSize之间,默认为3 -->
      <property name="initialPoolSize" value="2"/>
      <!-- 最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。默认值: 0 -->
        <property name="maxIdleTime" value="60"/>
      </bean>

C3P0详细参数请查询官网:https://www.mchange.com/projects/c3p0/

Java框架中的配置参数为了维护方便、便于阅读,一般把一些参数放在配置文件中;比如在此案例下,把HGDB的连接参数放在了jdbc.properties文件下,在spring配置文件中使用 j d b c . u r l , {jdbc.url}, jdbc.url{jdbc.username}, j d b c . p a s s w o r d , {jdbc.password}, jdbc.password{jdbc.driverClassName}来引用这些参数;在spring配置文件中还有个引入配置文件的配置,如下:

<
!-- 引入配置文件 -->
<context:property-placeholder location="classpath:jdbc.properties"/>

这样spring就会按照配置寻找jdbc.properties中的jdbc.url,jdbc.username,jdbc.password,jdbc.driverClassName这四个参数;

jdbc.properties中的内容,如下:

jdbc.url=jdbc:highgo://127.0.0.1:5866/myhgdb
jdbc.driverClassName=com.highgo.jdbc.Driver
jdbc.username=myuser
jdbc.password=my123

目前使用比较多的配置文件基本都是以 .xml、.properties、.yml等结尾,其中还有的在java类中设置参数值。

C3P0适配HGDB就是把c3p0的数据库连接参数改为HGDB的连接参数,如图6.2,只要把jdbc.url、jdbc.driverClassName、jdbc.username、jdbc.password修改为HGDB的连接参数即可。

posted on 2025-09-15 20:37  ljbguanli  阅读(19)  评论(0)    收藏  举报