精华内容
下载资源
问答
  • C3P0连接池

    2016-10-12 16:39:42
    C3P0连接池
  • c3p0连接池

    2017-04-13 22:16:35
    C3P0连接池,最常用的连接池技术!
  • c3p0 连接池

    2018-09-07 00:00:39
    使用c3p0连接池来连接数据库,并且封装了一个连接的方法 import com.mchange.v2.c3p0.ComboPooledDataSource; import java.beans.PropertyVetoException; import java.sql.Connection; import java.sql....

    使用c3p0连接池来连接数据库,并且封装了一个连接的方法

    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    
    import java.beans.PropertyVetoException;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.ResourceBundle;
    
    public class DBPoolUtils {
        private static ResourceBundle bundle =ResourceBundle.getBundle("com.jdbc_connection/jdbcDemo6/c3p0-config");
        //数据库的连接池
        private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
        static {
            try {
                dataSource.setDriverClass(bundle.getString("jdbc.Driver"));
                dataSource.setJdbcUrl(bundle.getString("jdbc.url"));
    
                dataSource.setUser(bundle.getString("jdbc.user"));
                dataSource.setPassword(bundle.getString("jdbc.password"));
                dataSource.setAcquireIncrement(Integer.parseInt(bundle.getString("c3p0.acquireIncrement")));
                dataSource.setInitialPoolSize(Integer.parseInt(bundle.getString("c3p0.initialPoolSize")));
                dataSource.setMaxIdleTime(Integer.parseInt(bundle.getString("c3p0.maxIdleTime")));
                dataSource.setMaxPoolSize(Integer.parseInt(bundle.getString("c3p0.maxPoolSize")));
                dataSource.setMinPoolSize(Integer.parseInt(bundle.getString("c3p0.minPoolSize")));
    
            } catch (PropertyVetoException e) {
                e.printStackTrace();
            }
    
    
        }
        public static Connection getConnection()throws SQLException {
            return dataSource.getConnection();
        }
    }
    展开全文
  • 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连接池配置详解C3P0连接池配置详解C3P0连接池配置详解C3P0连接池配置详解
  • c3p0jar包下载、c3p0连接池c3p0jar包下载、c3p0连接池c3p0jar包下载、c3p0连接池

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,100
精华内容 4,440
关键字:

c3p0连接池