精华内容
下载资源
问答
  • c3p0连接池以及配置文件
  • c3p0连接池配制文件

    2018-05-22 09:28:57
    c3p0连接池配制文件..
  • c3p0连接池配置文件

    2018-12-25 18:01:48
    内含jar文件,附加上了配置信息,有重要单词,供java开发者使用
  • c3p0是一种开源JDBC数据库连接池技术,该jar包包含了连接池技术必须导入项目的c3p0-0.9.5.5.jar和mchange-commons-java-0.2.19.jar两个jar包,还有连接池配置需要的c3p0-config.xml配置文件,名字不能修改,不然无法...
  • C3P0配置文件

    2018-08-09 16:19:53
    <c3p0-config> <!--默认配置--> <default-config> <property name="initialPoolSize">10</property> <property name="maxIdleTime">30</property> <property name="maxPoolSize">100</property> ...
  • 这是c3p0-0.9.5.2(含配文件)连接池技术的资源,里面含c3p0-0.9.5.2.jar包,这是c3p0数据库连接池的jar包,mchange-commons-java-0.2.11.jar是数据库连接池的依赖包,导入时,要一同导入,否则会产生错误。...
  • C3P0连接池配置文档

    千次阅读 2018-08-16 17:18:52
    配置文件名称:c3p0-config.xml (固定) 配置文件路径:src (类路径) 配置文件内容:命名配置 &lt;c3p0-config&gt; &lt;!-- 命名的配置 --&gt; &lt;named-config name="test"&...

    一、导入jar包

    下载链接

     二、配置文件

    配置文件名称:c3p0-config.xml (固定)

    配置文件路径:src (类路径)

    配置文件内容:命名配置

    <c3p0-config>
        <!-- 命名的配置 -->
        <named-config name="test">
            <!-- 连接数据库的4项基本参数 -->
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/mytest01</property>
            <property name="user">root</property>
            <property name="password">123</property>
            <!-- 如果池中数据连接不够时一次增长多少个 -->
            <property name="acquireIncrement">5</property>
            <!-- 初始化连接数 -->
            <property name="initialPoolSize">5</property>
            <!-- 最小连接数 -->
            <property name="minPoolSize">10</property>
            <!-- 最大连接数 -->
            <property name="maxPoolSize">40</property>
            <!-- JDBC的标准参数,用以控制数据源内加载的PrepareStatements数量 -->
            <property name="maxStatements">200</property>
            <!-- 连接池内单个连接所拥有的最大缓存statements数 -->
            <property name="maxStatementsPerConnection">5</property>
        </named-config>
    </c3p0-config>

    配置文件内容:默认配置 

    <c3p0-config>
        <!-- 默认配置,如果没有指定使用则使用这个配置 -->
        <default-config>
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/mytest01</property>
            <property name="user">root</property>
            <property name="password">123</property>
            <property name="acquireIncrement">50</property>
            <property name="initialPoolSize">100</property>
            <property name="minPoolSize">50</property>
            <property name="maxPoolSize">1000</property>
            <!-- intergalactoApp adopts a different approach to configuring statement caching -->
            <property name="maxStatements">0</property>
            <property name="maxStatementsPerConnection">5</property>
            <!-- he's important, but there's only one of him -->
            <user-overrides user="master-of-the-universe">
                <property name="acquireIncrement">1</property>
                <property name="initialPoolSize">1</property>
                <property name="minPoolSize">1</property>
                <property name="maxPoolSize">5</property>
                <property name="maxStatementsPerConnection">50</property>
            </user-overrides>
        </default-config>
    </c3p0-config>

    常见配置项:

    分类属性描述
    必须项

    user

    用户名
    password密码
    driverClass

    驱动

    mysql驱动,com.mysql.jdbc.Driver

    jdbcUrl

    路径

    mysql路径,jdbc:mysql://localhost:3306/数据库

    基本配置acquireIncrement

    连接池无空闲连接可用时,一次性创建的新连接数

    默认值:3

    initialPoolSize

    连接池初始化时创建的连接数

    默认值:3

    maxPoolSize

    连接池中拥有的最大连接数

    默认值:15

    minPoolSize连接池保持的最小连接数
    maxidleTime

    连接的最大空闲时间。如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接,如果为0,则永远不会断开连接。

    默认值:0

    管理连接池的大小和连接的生存时间(扩展)maxConnectionAge

    配置连接的生存时间,超过这个时间的连接将由连接池自动断开丢弃掉。当然正在使用的连接不会马上断开,而是等待它 close 再断开。配置为 0 的时候则不会对连接的生存时间进行限制。

    默认值:0

    maxIdleTimeExcessConnections这个配置主要时为了减轻连接池的负载,配置不为 0 ,则会将连接池中的连接数量保持到minPoolSize,为 0 则不处理。
    配置PreparedStatement缓存(扩展)maxStatements连接池为数据源缓存的PreparedStatement的总数。由于PreparedStatement属于单个Connection,所有这个数量应该根据应用中平均连接数乘以每个连接的平均PreparedStatement来计算。为 0 的时候不缓存,同时maxStatementsPerConnection的配置无效。
    maxStatementsPerConnection连接池为数据源单个Connection缓存的PreparedStatement数,这个配置比maxStatements更有意义,因为它缓存的服务对象是单个数据连接,如果配置的好,肯定是可以提高性能的。为 0 的时候不缓存。

    三、在类中调用

    C3P0提供核心工具类:ComboPooledDataSource,如果要使用连接池,必须创建该类的实例对象。

    1、new ComboPooledDataSource("名称"); //使用配置文件“命名配置”

    <!-- 命名的配置 -->
    <named-config name="test">

    2、new ComboPooledDataSource(); //使用配置文件“默认配置”

    <!-- 默认配置,如果没有指定使用则使用这个配置 -->
    <default-config>

    3、编写工具类

    import com.mchange.v2.c3p0.ComboPooledDataSource;
    import javax.sql.DataSource;
    import java.sql.Connection;
    import java.sql.SQLException;
    
    public class C3P0Utils {
    
        //默认配置
        private static DataSource dataSource = new ComboPooledDataSource();
        //命名配置
        //private static DataSource dataSource = new ComboPooledDataSource("test");
    
        public static DataSource getDataSource() {
            return dataSource;
        }
    
        public static Connection getConnection() {
            try {
                return dataSource.getConnection();
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
    }

     

    展开全文
  • c3p0数据库连接池配置总结

    万次阅读 多人点赞 2018-07-04 20:50:53
    c3p0配置文件配置 前言 关于c3p0一般有这么两种配置,一种是通过set方法进行配置,另一种是通过在同src目录下的c3p0-conflg.xml文件或者c3p0.properties文件进行相关的配置。 c3p0通过set方法进行配置 ...
    • c3p0方法配置
    • c3p0配置文件配置

    前言

    关于c3p0一般有这么两种配置,一种是通过set方法进行配置,另一种是通过在同src目录下的c3p0-conflg.xml文件或者c3p0.properties文件进行相关的配置。

    c3p0通过set方法进行配置

        private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
        /**
         * 配置DataSource
         */
        public static void configDataSource(){
            try {
                dataSource.setDriverClass("com.mysql.jdbc.Driver");
                dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/zhanghanlun");
                dataSource.setUser("zhanghanlun");
                dataSource.setPassword("123456");
                dataSource.setInitialPoolSize(3);
                dataSource.setMaxPoolSize(10);
                dataSource.setMinPoolSize(3);
                dataSource.setAcquireIncrement(3);
            } catch (PropertyVetoException e) {
                e.printStackTrace();
            }
        }
        /**
         * 获取Connection连接
         * @return
         */
        public static Connection getConnection(){
            Connection conn = null;
            configDataSource();
            try {
                conn = dataSource.getConnection();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return conn;
        }
    

    c3p0通过c3p0-config.xml文件进行配置

    关于通过配置文件进行配置的话,

    • 这边需要把xml文件方法同src文件夹下,c3p0会扫描文件进行相关的配置。
    • 在Maven依赖中要加入c3p0和mysql-connector-java依赖,版本号一定要写。
      废话不多说,下面是c3p0-config.xml文件的代码
    <?xml version="1.0" encoding="UTF-8"?>
    <c3p0-config>
        <!-- 默认配置,如果没有指定则使用这个配置 -->
        <default-config>
            <property name="user">zhanghanlun</property>
            <property name="password">123456</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/zhanghanlun</property>
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="checkoutTimeout">30000</property>
            <property name="idleConnectionTestPeriod">30</property>
            <property name="initialPoolSize">3</property>
            <property name="maxIdleTime">30</property>
            <property name="maxPoolSize">100</property>
            <property name="minPoolSize">2</property>
            <property name="maxStatements">200</property>
        </default-config>
        <!-- 命名的配置,可以通过方法调用实现 -->
        <named-config name="test">
            <property name="user">zhanghanlun</property>
            <property name="password">123456</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/zhanghanlun</property>
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <!-- 如果池中数据连接不够时一次增长多少个 -->
            <property name="acquireIncrement">5</property>
            <!-- 初始化数据库连接池时连接的数量 -->
            <property name="initialPoolSize">20</property>
            <!-- 数据库连接池中的最大的数据库连接数 -->
            <property name="maxPoolSize">25</property>
            <!-- 数据库连接池中的最小的数据库连接数 -->
            <property name="minPoolSize">5</property>
        </named-config>
    </c3p0-config>
    

    java代码对应如下:

        //加载名字为“test”的配置文件
        private static ComboPooledDataSource dataSource = new ComboPooledDataSource("test");
        /**
         * 获取Connection连接
         * @return
         */
        public static Connection getConnection(){
            Connection conn = null;
            try {
                conn = dataSource.getConnection();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return conn;
        }
    

    是不是代码简洁了很多,所以在我们通常使用配置文件来创建数据库的连接池。

    c3p0常用配置参数介绍

    在前面的c3p0的相关配置中,我们看到了c3p0的配置参数,这里我们介绍几个常用的c3p0的配置参数

    最基础的参数配置:

    1. driverClass : 数据库驱动(比如mysql,或者oracle数据库的驱动)
    2. jdbcUrl: jdbc数据库连接地址(例如jdbc:mysql://localhost:3306/zhanghanlun)
    3. user:数据库用户名
    4. password:和数据库用户名对应的数据库密码

    基础的参数配置

    参数默认值解释
    initialPoolSize3连接池初始化时创建的连接数(介于maxPoolSize和minPoolSize之间)
    maxPoolSize15连接池中拥有的最大连接数,如果获得新连接时会使连接总数超过这个值则不会再获取新连接,而是等待其他连接释放,所以这个值有可能会设计地很大
    minPoolSize3连接池保持的最小连接数,后面的maxIdleTimeExcessConnections跟这个配合使用来减轻连接池的负载
    acquireIncrement3连接池在无空闲连接可用时一次性创建的新数据库连接数

    管理池大小和连接时间的配置

    参数默认值解释
    maxIdleTime0连接的最大空闲时间,如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接如果为0,则永远不会断开连接
    maxConnectorAge0连接的最大绝对年龄,单位是秒,0表示绝对年龄无限大
    maxIdleTimeExcessConnection0单位秒,为了减轻连接池的负载,当连接池经过数据访问高峰创建了很多连接,但是后面连接池不需要维护这么多连接,必须小于maxIdleTime.配置不为0,则将连接池的数量保持到minPoolSize

    配置连接测试

    参数默认值解释
    automaticTestTablenull如果不为null,c3p0将生成指定名称的空表,使用该表来测试连接
    connectionTesterClassNamecom.mchange.v2.c3p0.impl.DefaultConnectionTester-通过实现ConnectionTester或QueryConnectionTester的类来测试连接。类名需制定全路径。
    idleConnectionTestPeriod0每个几秒检查所有连接池中的空闲连接
    preferredTestQuerynull定义所有连接测试都执行的测试语句。在使用连接测试的情况下这个一显著提高测试速度。注意: 测试的表必须在初始数据源的时候就存在
    testConnectionOnCheckinfalse如果设为true那么在取得连接的同时将校验连接的有效性
    testConnectionOnCheckoutfalse如果为true,在连接释放的同事将校验连接的有效性。

    在这几个参数中,idleConnectionTestPeriod、testConnectionOnCheckout和testConnectuonOnCheckin控制什么时候连接将被校验检测。automaticTestTable、connectionTesterClassName和perferedTestQuery控制连接将怎么样被检测。

    配置语句池

    参数默认值解释
    maxStatements0JDBC的标准参数,用以控制数据源内加载d的PreparedStatements数量
    maxStatementsPerConnection0maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数
    statementCacheNumDeferredCloseThreads0如果大于零,则语句池将延迟物理close()缓存语句直到其父连接未被任何客户端使用,或者在其内部(例如在测试中)由池本身使用。

    配置数据库的中断恢复

    参数默认值解释
    acquireRetryAttempts30定义在从数据库获取新连接失败后重复尝试的次数
    acquireRetryDelay1000两次连接间隔时间,单位毫秒
    breakAfterAcquireFailurefalse获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效 保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试 获取连接失败后该数据源将申明已断开并永久关闭

    配置未解决的事务处理

    参数默认值解释
    autoCommitOnClosefalse连接关闭时默认将所有未提交的操作回滚。如果为true,则未提交设置为待提交而不是回滚。
    forceIgnoreUnresolvedTransactionsfalse官方文档建议这个不要设置为true

    其他数据源配置

    参数默认值解释
    checkoutTimeout0当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则无限期等待。单位毫秒。
    factoryClassLocation0指定c3p0 libraries的路径,如果(通常都是这样)在本地即可获得那么无需设置,默认null即可
    numHelperThreads3c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能通过多线程实现多个操作同时被执行
    展开全文
  • ssm和c3p0连接池配置文件的详解

    千次阅读 2018-06-08 18:28:44
    spring.xml配置&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="...

    spring.xml配置

    
    
    <?xml version="1.0" encoding="UTF-8"?>
    <beans 
          xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:context="http://www.springframework.org/schema/context"
          xmlns:aop="http://www.springframework.org/schema/aop"
          xmlns:tx="http://www.springframework.org/schema/tx"
    	  xmlns:mvc="http://www.springframework.org/schema/mvc"
    		
          xsi:schemaLocation="
    	
    	  http://www.springframework.org/schema/beans 
    	  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    	  
    	  http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.0.xsd
     	  
    	  http://www.springframework.org/schema/aop 
    	  http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
    	  
    	  http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
        
          http://www.springframework.org/schema/mvc
          http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
            
          ">
     <!-- 配置数据源,记得去掉myBatis-config.xml的数据源相关配置 -->
    	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    		<property name="driverClass" value="com.mysql.jdbc.Driver" />
    		<property name="jdbcUrl"
    			value="jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=UTF-8" />
    		<property name="user" value="root" />
    		<property name="password" value="root" />
    	</bean>
    	<!-- 配置session工厂 -->
    	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    		<property name="dataSource" ref="dataSource" />
    		<property name="configLocation" value="classpath:myBatis-config.xml" />
    		<!--配置扫描式加载SQL映射文件,记得去掉mybatis-config配置-->
    		<property name="mapperLocations" value="classpath:com/ssm/dao/*.xml"/>
    		
    	</bean>
    
    	<!-- 配置事务管理器,管理数据源事务处理 -->
    	<bean id="transactionManager"
    		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    		<property name="dataSource" ref="dataSource" />
    	</bean>
    	<!-- 配置事务通知 -->
    	<tx:advice id="advice" transaction-manager="transactionManager">
    		<tx:attributes>
    			<!-- 默认只处理运行时异常,可加rollback-for="Exception/Throwable"等处理所有异常或包括错误 -->
    			<tx:method name="insert*" propagation="REQUIRED"
    				rollback-for="Exception" />
    			<tx:method name="update*" propagation="REQUIRED"
    				rollback-for="Exception" />
    			<tx:method name="delete*" propagation="REQUIRED"
    				rollback-for="Exception" />
    			<tx:method name="*" propagation="SUPPORTS" />
                           <!--下面懒式配置也可以,注意要把异常处理也配上,这样出现异常才会回滚,rollback-for:"Exception" -->
          			
                               <!--<tx:method name="*" propagation="REQUIRED" rollback-for="Exception"/>-->
    </tx:attributes></tx:advice>
            
    
    

     

    <!-- 配置切面织入的范围,后边要把事务边界定在service层第一*表示返回类型 第二*表示包下哪些类,第三*表示类中那些方法 -->
    	<aop:config>
    		<aop:advisor advice-ref="advice"
    			pointcut="execution(* cn.itcast.scm.service.impl.*.*(..))" />
    	</aop:config>
    	<!-- 配置SessionTemplate,已封装了繁琐的数据操作 -->
    	<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
    		<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
    	</bean>
    
    	<!-- <context:component-scan base-package="*" /> -->
    
    
    	<!-- 自动扫描组件,要把controller去除,他们是在spring-mvc.xml中配置,如果不去除会影响事务管理。 -->
    	<context:component-scan base-package="cn.itcast">
    		<context:exclude-filter type="annotation"
    			expression="org.springframework.stereotype.Controller" />
    	</context:component-scan>
    	<!-- 配置 转换器,对于在basePackage设置的包(包括子包)下的接口类,
    	如果接口类的全类名在Mapper.xml文件中和定义过命名空间一致,
    	 将被转换成spring的BEAN,在调用 
    		的地方通过@Autowired方式将可以注入接口实例 -->
    
    	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    		<property name="sqlSessionFactory" ref="sqlSessionFactory" />
    		<property name="basePackage" value="cn.itcast.scm.dao" />
    	</bean>

    <beans>



    spring-mvc.xml配置
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:mvc="http://www.springframework.org/schema/mvc"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:p="http://www.springframework.org/schema/p"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
    	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
    	http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
    	">
    	<!-- 同时开启json格式的支持 -->
    	<mvc:annotation-driven></mvc:annotation-driven>
    	<!-- <context:component-scan base-package="*"/> -->
    	
    	<!-- 扫描所有的controller 但是不扫描service -->
    	<context:component-scan base-package="com.ssm">
    		<context:include-filter type="annotation"
    			expression="org.springframework.stereotype.Controller" />
    		<context:exclude-filter type="annotation"
    			expression="org.springframework.stereotype.Service" />
    	</context:component-scan>

    
    	
    	
    	
    </beans>

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
     <!-- 注册springmvc核心控制器 -->
      <servlet>
        <servlet-name>DispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
        <!-- 配置加载spring.xml -->
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:spring.xml</param-value>
        </init-param>
      </servlet>
      <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>*.action</url-pattern>
      </servlet-mapping>
      
      
      <!-- 注册spring提供的针对POST请求的中文乱码问题 -->
      <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    </web-app>


    
    


    展开全文
  • C3P0:数据库连接池技术 步骤: 1.导入jar包 c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar 2.定义配置文件 名称:c3p0.properties 或者 c3p0-config.xml 路径:直接将文件放在src目录下即可 3.创建数据库连接池...
  • 资源包含MySQL8.0.11与C3P0-0.9.5.2连接池的jar包,以及xml配置文件
  • c3p0连接池配置模板,SSM中使用c3p0连接池配置属性

    千次阅读 热门讨论 2020-10-17 17:43:02
    文章目录SSM使用c3p0连接池配置c3p0.properties属性文件Spring核心配置文件中配置applicationContext.xml2. c3p0-config.xml SSM使用c3p0连接池 配置c3p0.properties属性文件 #c3p0连接池属性文件 # 四大基本信息 c3...

    1. SSM使用c3p0连接池

    1.1 配置c3p0.properties属性文件

    #c3p0连接池属性文件
    # 四大基本信息
    c3p0.driverClass=com.mysql.jdbc.Driver
    #这里需要改成你自己的数据库名称 和 数据库连接用户名和密码
    c3p0.jdbcUrl=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    c3p0.user=root
    c3p0.password=root
    
    # 初始化连接数  取值要在minPoolSize和maxPoolSize之间(可包含,闭区间) 默认值:3
    c3p0.initialPoolSize=10
    # 最大连接数 (连接池中的连接数不能超过maxPoolSize最大连接数) 默认值:15
    c3p0.maxPoolSize=50
    #最小连接数  默认值:3
    c3p0.minPoolSize=5
    #c3p0连接池中数据连接不够时(无空闲连接可用),一次增长的个数(增长不能超过maxPoolSize最大连接个数) 默认值:3
    c3p0.acquireIncrement=5
    #连接的最大空闲时间,如果超过这个时间还没有被使用,就断开这个连接(设置为0或负数,就永远都不会被断开) 单位:秒  默认值 :0
    c3p0.maxIdleTime=600
    #从数据库获取新连接失败后重复尝试的次数。小于等于0表示无限次  默认值: 30
    c3p0.acquireRetryAttempts=30
    #两次连接的中间间隔时间(重新尝试的时间间隔)  单位:毫秒  默认值:1000
    c3p0.acquireRetryDelay=1000
    #连接关闭时,是否将所有未提交的操作进行事务回滚  默认值:false
    c3p0.autoCommitOnClose = false
    #当连接池用完时,客户端调用getConnection()后等待获取新连接的时间  单位:毫秒  默认值:0 (无限期等待)  按照设置的值,超时将抛出SQLException异常
    c3p0.checkoutTimeout = 0
    #每隔多少秒检查所有连接池中的空闲连接  单位:秒   默认值:0
    c3p0.idleConnectionTestPeriod=60
    #配置PreparedStatement缓存,设置连接池为数据源缓存的PreparedStatement的总数,为0的时候不缓存,同时maxStatementsPerConnection的配置无效。
    # 由于PreparedStatement属于单个Connection,所以这个数量应该根据应用中平均连接数乘以每个连接的平均PreparedStatement来计算
    c3p0.maxStatements=1000
    
    # 连接池为数据源单个Connection缓存的PreparedStatement数,这个配置比maxStatements更有意义,因为它缓存的服务对象是单个数据连接,如果设置的好,肯定是可以提高性能的。为0的时候不缓存。
    # c3p0.maxStatementsPerConnection
    #配置连接的生存时间,超过这个时间的连接将由连接池自动断开丢弃掉。当然正在使用的连接不会马上断开,而是等待它close再断开。配置为0的时候则不会对连接的生存时间进行限制。默认值0
    #c3p0.maxConnectionAge
    #这个配置主要是为了减轻连接池的负载,配置不为0,则会将连接池中的连接数量保持到minPoolSize,为0则不处理。
    #maxIdleTimeExcessConnections
    

    1.2 Spring核心配置文件中配置applicationContext.xml

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <!-- 连接池4大组件 -->
            <property name="driverClass" value="${c3p0.driverClass}"/>
            <property name="jdbcUrl" value="${c3p0.jdbcUrl}"/>
            <property name="user" value="${c3p0.user}"/>
            <property name="password" value="${c3p0.password}"/>
    
            <!--初始化连接数  取值要在minPoolSize和maxPoolSize之间(可包含,闭区间) 默认值:3 -->
            <property name="initialPoolSize" value="${c3p0.initialPoolSize}"/>
            <!-- 最大连接数 (连接池中的连接数不能超过maxPoolSize最大连接数) 默认值:15-->
            <property name="maxPoolSize" value="${c3p0.maxPoolSize}"/>
            <!--最小连接数  默认值:3  -->
            <property name="minPoolSize" value="${c3p0.minPoolSize}"/>
            <!-- c3p0连接池中数据连接不够时(无空闲连接可用),一次增长的个数(增长不能超过maxPoolSize最大连接个数) 默认值:3 -->
            <property name="acquireIncrement" value="${c3p0.acquireIncrement}"/>
            <!-- 连接的最大空闲时间,如果超过这个时间还没有被使用,就断开这个连接(设置为0或负数,就永远都不会被断开) 单位:秒  默认值 :0 -->
            <property name="maxIdleTime" value="${c3p0.maxIdleTime}"/>
    
            <!-- 从数据库获取新连接失败后重复尝试的次数。小于等于0表示无限次  默认值: 30-->
            <property name="acquireRetryAttempts" value="${c3p0.acquireRetryAttempts}"/>
            <!-- 两次连接的中间间隔时间(重新尝试的时间间隔)  单位:毫秒  默认值:1000 -->
            <property name="acquireRetryDelay" value="${c3p0.acquireRetryDelay}"/>
            <!-- 连接关闭时,是否将所有未提交的操作进行事务回滚  默认值:false -->
            <property name="autoCommitOnClose" value="${c3p0.autoCommitOnClose}"/>
            <!-- 当连接池用完时,客户端调用getConnection()后等待获取新连接的时间  单位:毫秒  默认值:0
                    如果值设为 0,将无限期等待,直到有空闲连接。  否则按照设置的值,超时将抛出SQLException异常
                    时间设置过小时会出现连接超时,这样会抛出SQLException异常,设置时间时需要小心,按照实际情况设置适当的值-->
            <property name="checkoutTimeout" value="${c3p0.checkoutTimeout}"/>
            <!-- 每隔多少秒检查所有连接池中的空闲连接  单位:秒   默认值:0 -->
            <property name="idleConnectionTestPeriod" value="${c3p0.idleConnectionTestPeriod}"/>
    
            <!-- 配置PreparedStatement缓存,设置连接池为数据源缓存的PreparedStatement的总数
                    为0的时候不缓存,同时maxStatementsPerConnection的配置无效。
                   由于PreparedStatement属于单个Connection,所以这个数量应该根据应用中平均连接数乘以每个连接的平均PreparedStatement来计算-->
            <property name="maxStatements" value="${c3p0.maxStatements}"/>
    
        </bean>
    

    2. c3p0-config.xml

    这种通过创建自己的连接池工具类使用

    <c3p0-config>
        <!-- c3p0连接池配置 -->
        <default-config>
            <!--默认是mysql数据库-->
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/ssm?useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false</property>
            <!-- 数据库的用户名  默认值:null -->
            <property name="user">root</property>
            <!-- 数据库的密码  默认值:null -->
            <property name="password">861221293</property>
    
    
            <!--初始化连接数  取值要在minPoolSize和maxPoolSize之间(可包含,闭区间) 默认值:3 -->
            <property name="initialPoolSize">5</property>
            <!-- 最大连接数 (连接池中的连接数不能超过maxPoolSize最大连接数) 默认值:15-->
            <property name="maxPoolSize">50</property>
            <!--最小连接数  默认值:3  -->
            <property name="minPoolSize">10</property>
    
            <!-- c3p0连接池中数据连接不够时(无空闲连接可用),一次增长的个数(增长不能超过maxPoolSize最大连接个数) 默认值:3 -->
            <property name="acquireIncrement">5</property>
            <!-- 连接的最大空闲时间,如果超过这个时间还没有被使用,就断开这个连接(设置为0或负数,就永远都不会被断开) 单位:秒  默认值 :0 -->
            <property name="maxIdleTime">600</property>
    
            <!-- 从数据库获取新连接失败后重复尝试的次数。小于等于0表示无限次  默认值: 30-->
            <property name="acquireRetryAttempts" value="30"/>
            <!-- 两次连接的中间间隔时间(重新尝试的时间间隔)  单位:毫秒  默认值:1000 -->
            <property name="acquireRetryDelay">1000</property>
            <!-- 连接关闭时,是否将所有未提交的操作进行事务回滚  默认值:false -->
            <property name="autoCommitOnClose">false</property>
            <!-- 当连接池用完时,客户端调用getConnection()后等待获取新连接的时间  单位:毫秒  默认值:0
                    如果值设为 0,将无限期等待,直到有空闲连接。  否则按照设置的值,超时将抛出SQLException异常
                    时间设置过小时会出现连接超时,这样会抛出SQLException异常,设置时间时需要小心,按照实际情况设置适当的值-->
            <property name="checkoutTimeout">0</property>
            <!-- 每隔多少秒检查所有连接池中的空闲连接  单位:秒   默认值:0 -->
            <property name="idleConnectionTestPeriod">60</property>
    
            <!-- 配置PreparedStatement缓存,设置连接池为数据源缓存的PreparedStatement的总数
                    为0的时候不缓存,同时maxStatementsPerConnection的配置无效。
                   由于PreparedStatement属于单个Connection,所以这个数量应该根据应用中平均连接数乘以每个连接的平均PreparedStatement来计算-->
            <property name="maxStatements">1000</property>
    
        </default-config>
    </c3p0-config>
    
    展开全文
  • 原标题:数据库连接池c3p0的使用来源:java联盟https://mp.weixin.qq.com/s/5Tbkf8dVFfH8AvtqWl-7Xg程序员共读整理发布,转载请联系作者获得授权今天我们来分享一下c3p0数据库连接池的使用连接池介绍数据库连接池...
  • C3P0数据库连接池连接Mysql8.0.11的配置问题

    千次阅读 多人点赞 2018-11-01 16:52:31
    ** 小白一个,这几天,在学C3P0数据连接池,把遇到的一些问题记录一下,希望能帮到你们。 题主的环境: Eclipse C3P0-0.9.5.2 可参考这里下载 Mysql8.0.11 ** ** 1.创建配置文件c3p0-config.xml** &...
  • C3P0连接池jar包

    2017-10-09 12:52:57
    C3P0数据库连接池jar包和配置文件
  • 完整的c3p0jar包,直接创建lib目录导入就可以使用。并且有相应的配置文件,可以按照需求自行选择。
  • c3p0连接实例,里面有c3p0jar包,mysql驱动包,及c3p0p.xml配置文件c3p0写好的工具类,欢迎下载直接使用即可~
  • C3P0连接池.rar

    2020-03-16 14:34:16
    如何使用c3p0数据库连接池jar包: 1.导入两个jar包:c3p0-...2.定义配置文件(可直接放在src文件夹下):c3p0.properties或c3p0-config.xml 3.创建数据库连接池对象ComboPooledDatasource 4.获取连接:getConnection
  • NULL 博文链接:https://263644449.iteye.com/blog/1682739
  • #c3p0连接池属性文件 # 四大基本信息 c3p0.driverClass=com.mysql.jdbc.Driver #这里需要改成你自己的数据库名称 和 数据库连接用户名和密码 c3p0.jdbcUrl=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&...
  • 注意:编写配置文件,要求有固定的格式和固定的名字(c3p0-config.xml和c3p0.properties)该配置文件要放到项目的src目录下 三中配置的优先级为:setters>c3p0-config.xml>c3p0.properties 优先级的验证: ...
  • mysql连接池jar包支持c3p0-0.9.1.2与xml配置文件mysql连接池jar包支持c3p0-0.9.1.2与xml配置文件
  • 首先要明确为什么要使用连接池 由于建立数据库连接是一种非常...网上有3种方式与c3p0连接池连接,我用了配置c3p0-config.xml文件的方式,(最后详细描述一下这种方式) 二,硬编码方式,例如 private static ComboPo...
  • 连接池中有关于sqlserver,mysql,以及oracle的配置
  • C3P0连接池配置与使用

    万次阅读 2019-03-22 23:08:01
    连接池的作用:连接池是将已经创建好的连接保存在池中,当有请求来时,直接使用已经创建好的连接对数据库进行访问。这样省略了创建连接和销毁连接的过程。这样性能上得到了提高。 基本原理是这样的: (1)建立...
  • Maven下C3P0连接池配置及使用

    千次阅读 2019-10-12 19:12:48
    1.在pom.xml文件中导入jar包同时不要忘记jdbc包,否则会报错 <dependency> <groupId>com.mchange</groupId>...c3p0</artifactId> <version>0.9.5.2</version> ...
  • 此文件内包含运行C3P0数据库连接池必要的jar包和配置文件。不懂如何使用的话请移步我的博客https://blog.csdn.net/zg97zb/article/details/103788880
  • 数据库连接池c3p0配置文件

    千次阅读 2015-11-04 15:05:11
    C3P0的使用 C3P0类是:ComboPooledDataSource。  public void fun1() throws PropertyVetoException, SQLException {  ComboPooledDataSource ds = new ComboPooledDataSource();  ds.setJd
  • 引用外部属性文件配置C3P0连接池。本博客https://blog.csdn.net/qq_40634846有从零基础入门spring,有兴趣可关注本博客。希望对大家有用
  • C3P0连接池技术.zip

    2019-07-20 22:57:58
    C3p0数据库连接池技术,版本号0.9.5.2,里边包含配置文件,相关jar包以及doc文档

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,891
精华内容 15,156
关键字:

c3p0连接池配置文件