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,完成 |