C3P0连接池适配HGDB

文章目录

文档用途

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

详细信息

1.C3P0概述

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

2.C3P0使用

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

xml 复制代码
<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部分连接参数示例,如下:

xml 复制代码
<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配置文件中还有个引入配置文件的配置,如下:

java 复制代码
<!-- 引入配置文件 -->

 <context:property-placeholder location="classpath:jdbc.properties"/>

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

jdbc.properties中的内容,如下:

java 复制代码
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的连接参数即可。

相关推荐
瀚高PG实验室8 天前
xx000 can not wait without a pgproc
服务器·数据库·oracle·瀚高数据库
瀚高PG实验室10 天前
PG的JDBC对SQL中绑定变量个数的限制
数据库·sql·postgresql·瀚高数据库
瀚高PG实验室10 天前
瀚高数据库V45及V6用户锁定后解锁步骤
运维·数据库·瀚高数据库
瀚高PG实验室12 天前
left link changed unexpectedly in block xxxx of index ““index_xxxxx“
数据库·postgresql·瀚高数据库
瀚高PG实验室12 天前
debezium在LANG=zh_CN.UTF-8下,无法解析timestamp类型的列值为BC的字段
服务器·数据库·postgresql·瀚高数据库
瀚高PG实验室12 天前
postgresql因在从库备份时间长而失败
运维·数据库·postgresql·瀚高数据库
瀚高PG实验室22 天前
安全版V4.5版本docker容器license过期问题处理步骤
安全·docker·容器·瀚高数据库
瀚高PG实验室22 天前
ERROR: invalid input syntax for type integer: “a“
数据库·瀚高数据库