C3P0连接池配置

1.  在hibernate.cfg.xml中直接配置C3P0连接池

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

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

    <property name="c3p0.timeout">100</property><!--连接超时时间-->

    <!每隔100秒检测连接是否可正常使用 -->

    <property name="c3p0.idle_test_period">100</property>

    <!--当池中的连接耗尽的时候,一次性增加的连接数量,默认为3-->

<property name="hibernate.c3p0.acquire_increment">3</property>

<!--statemnets缓存大小-->

<property name="c3p0.max_statements">150</property>

2.在Spring配置文件中配置C3P0连接池

<!--数据源配置 -->

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

<!--驱动类-->

 <property name="driverClassName">

<value> oracle.jdbc.driver.OracleDriver</value>

 </property>

<!--连接字符串-->

 <property name="url">

   <value> jdbc:oracle:thin:@210.51.173.22:1521:orcl</value>

 </property>

</bean>

<!--数据库属性配置 -->

<bean

id="hibernateProperties"  class="org.springframework.beans.factory.config.PropertiesFactoryBean">

 <property name="properties">

  <props>

   <prop key="hibernate.hbm2ddl.auto">update</prop>

   <prop

key="hibernate.dialect"> org.hibernate.dialect.Oracle9Dialect

</prop>

   <prop

    key="hibernate.query.substitutions">true 'T', false 'F'</prop>

   <prop key="hibernate.show_sql">false</prop>

   <prop key="hibernate.c3p0.minPoolSize">5</prop>

   <prop key="hibernate.c3p0.maxPoolSize">20</prop>

   <prop key="hibernate.c3p0.timeout">600</prop>

   <prop key="hibernate.c3p0.max_statement">50</prop>

</property>

</bean>

<!--配置Hibernate的SessionFactory-->

<bean id="sessionFactory"

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

 <property name="dataSource">

     <ref local="dataSource"/>

 </property>

 <property name="hibernateProperties">

     <ref bean="hibernateProperties" />

 </property>

 <!--  添加po映射文件 -->

 <property name="mappingResources">

    <list>

       <value>Customer.hbm.xml</value>

       <value>Account.hbm.xml</value>

    </list>

 </property>

</bean>

2.  Tomcat 5.0.28中JNDI配置(c3p0配置)

例如${tomcat_home}\webapps下有abc工程,对abc工程的JNDI配置如下:

第一步在${tomcat_houme}\conf\Catalina\localhost下建立和工程名对应的abc.xml文件。

abc.xml内容如下

<Context displayName="Tomcat Administration Application" docBase="${tomcat_home} /server/webapps/abc" path="/abc" privileged="true" workDir="work\Catalina\localhost\abc">

  <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_admin_log." suffix=".txt" timestamp="true"/>

  <Resource    name="jdbc/mysql" auth="Container"                         type="com.mchange.v2.c3p0.ComboPooledDataSource" />

     <ResourceParams name="jdbc/mysql"> <!--JNDI名字-->

            <parameter>

               <name>factory</name>

               <value>org.apache.naming.factory.BeanFactory</value>

            </parameter>

            <parameter>

               <name>driverClass</name>

               <value>com.mysql.jdbc.Driver</value>

            </parameter>

            <parameter>

               <name>jdbcUrl</name>

               <value>jdbc:mysql://localhost/weblogin</value>

            </parameter> <parameter>

                <name>user</name>

                <value>root</value>

            </parameter>

            <parameter>

                <name>password</name>

                <value>123</value>

            </parameter>

            <parameter>

               <name>minPoolSize</name>

               <value>5</value>

            </parameter>

            <parameter>

               <name>maxPoolSize</name>

               <value>15</value>

            </parameter>

            <parameter>

               <name>acquireIncrement</name>

            <value>5</value>

            </parameter>

        </ResourceParams>

</Context>

第二步,修改abc/WEB-INF/web.xml文件,添加JNDI引用

<resource-ref>

     <description>DB Connection</description>

     <res-ref-name>jdbc/mysql</res-ref-name>

     <res-type>javax.sql.DataSource</res-type>

     <res-auth>Container</res-auth>

 </resource-ref>

重启tomcat,完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值