开发者社区> 问答> 正文

在spring的配置文件中配置c3p0和在hibernate的配置文件中配置c3p0有什么区别?

在spring的配置文件中配置c3p0和在hibernate的配置文件中配置c3p0有什么区别?
我最近在学习如何配置struts2+spring+hibernate,其中数据库连接池使用c3p0,一开始在hibernate.cfg.xml中添加c3p0连接的信息如下

<property name="hibernate.connection.provider_class">
            org.hibernate.c3p0.internal.C3P0ConnectionProvider
        </property>
        <property name="hibernate.c3p0.max_size">20</property>
        <property name="hibernate.c3p0.min_size">5</property>
        <property name="hibernate.c3p0.timeout">50000</property>
        <property name="hibernate.c3p0.max_statements">100</property>
        <property name="hibernate.c3p0.idle_test_period">3000</property>
        <!-- 当连接池耗尽并接到获得连接的请求,则新增加连接的数量 -->
        <property name="hibernate.c3p0.acquire_increment">2</property>

然后找网上的帖子,发现很多c3p0都是配置在spring的配置文件中的,如:

 <!-- 采用c3p0数据源 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/hibernate2" />
        <property name="driverClass" value="com.mysql.jdbc.Driver" />
        <property name="user" value="root" />
        <property name="password" value="root" />
        <!-- 配置数据库连接池,最大连接数 -->
        <property name="maxPoolSize" value="20" />
        <!-- 配置数据库连接池,最小连接数 -->
        <property name="minPoolSize" value="1" />
        <!-- 指定数据库连接池的初始化连接数 -->
        <property name="initialPoolSize" value="1" />
        <!-- 指定数据库连接池的连接的最大空闲时间 -->
        <property name="maxIdleTime" value="10" />
    </bean>

这两个有什么关系呢?是一个意思?配置了一个地方另一个地方就不用配置了吧?

展开
收起
小旋风柴进 2016-03-03 13:03:41 2527 0
1 条回答
写回答
取消 提交回答
  • 这些配置起的作用都是一样的,如果使用spring管理,写在哪里都是一样的。hibernate可以脱离spring框架独立使用的,这个时候就不能配置在 spring里面了

    2019-07-17 18:51:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
Java Spring Boot开发实战系列课程【第15讲】:Spring Boot 2.0 API与Spring REST Docs实战 立即下载
Java Spring Boot开发实战系列课程【第7讲】:Spring Boot 2.0安全机制与MVC身份验证实战(Java面试题) 立即下载