c3p0分别在sping和hibernate的配置

sping中配置:

在单独的hibernate应用中,hibernate定义了多种连接者来提供数据库连接。ConnectionProviderFactory通过判断hibernate.cfg.xml文件中属性键的配置来确定使用哪种连接者,如果存在hibernate.connection.provider_class属性,则直接使用配置的类名来反射加载连接提供类,否者使用hibernate封装好的连接者,都实现ConnectionProvider接口。
例如顺序判断:hibernate.c3p0.max_size存在,使用hibernate封装c3p0的C3P0ConnectionProvider,
hibernate.connection.url存在,使用DriverManagerConnectionProvider
此设计可见hibernate的轻量级,完全可以不用依赖其而直接使用第三方数据库连接池。

相比来说,spring就是直接拿来使用
          class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
       
            com.mysql.jdbc.Driver
       

       
            jdbc:mysql://192.168.3.110:3306/DBName?useUnicode=true&characterEncoding=GBK
       

       
            root
       

       
            root
       




       
            5
       



       
            30
       



       
            10
       



       
            60
       



       
            5
       



       
            0
       



       
            60
       



       
            30
       



       
            true
       



       
            false
       

   



            class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
       
           
       

       
           
                com/xh/hibernate/vo/User.hbm.xml
           

       

       
           
                org.hibernate.dialect.MySQLDialect
                true
                true
                auto
                true
           

       

   


hibernate中的配置:

<!-- 最大连接数 -->
        <property name="hibernate.c3p0.max_size">20</property>

        <!-- 最小连接数 -->
        <property name="hibernate.c3p0.min_size">5</property>

        <!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 -->
        <property name="hibernate.c3p0.timeout">120</property>

        <!-- 最大的PreparedStatement的数量 -->
        <property name="hibernate.c3p0.max_statements">100</property>

        <!-- 每隔120秒检查连接池里的空闲连接 ,单位是秒-->
        <property name="hibernate.c3p0.idle_test_period">120</property>

        <!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->
        <property name="hibernate.c3p0.acquire_increment">2</property>

        <!-- 每次都验证连接是否可用 -->
        <property name="hibernate.c3p0.validate">true</property>


hibernate.connection.driver_class = org.postgresql.Driver
hibernate.connection.url = jdbc:postgresql:
//localhost/mydatabase

hibernate.connection.username = myuser
hibernate.connection.password = secret
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statements=50
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect



你可能感兴趣的:(SSH框架搭建,hibernate,c3p0,数据库连接池,postgresql,class,bean)