c3p0连接池配置模板,SSM中使用c3p0连接池配置属性

c3p0连接池配置模板,SSM中使用c3p0连接池配置属性文章目录SSM使用c3p0连接池配置c3p0.properties属性文件Spring核心配置文件中配置applicationContext.xml2.c3p0-config.xmlSSM使用c3p0连接池配置c3p0.properties属性文件#c3p0连接池属性文件#四大基本信息c3p0.driverClass=com.mysql.jdbc.Driverc3p0.jdbcUrl=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&am

大家好,又见面了,我是你们的朋友全栈君。

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>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131947.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Linux集群分发脚本xsync[通俗易懂]

    Linux集群分发脚本xsync[通俗易懂]Linux集群分发脚本xsync1.scp(securecopy)安全拷贝2.rsync远程同步工具3.xsync集群分发脚本4.免密登陆1.scp(securecopy)安全拷贝1)scp定义:scp可以实现服务器与服务器之间的数据拷贝(fromserver1toserver2)2)基本语法scp-r$pdir/$fname…

  • apache2虚拟主机实现一个服务器绑定多个域名[通俗易懂]

    apache2虚拟主机实现一个服务器绑定多个域名[通俗易懂]1.apache2的配置首先要配置好apache2,如果未配置,请参考我之前的博文:lamp的配置2.域名的解析将全部域名的www和@的A记录解析到云服务器的IP3.虚拟主机的配置1.配置httpd.conf如果etc/httpd/conf/httpd.conf存在,则配置此httpd.conf如果etc/httpd/conf/httpd.conf不存在,此时需要我们在/etc/apache2下

  • 从#65279字符看dede模板页面编码问题

    从#65279字符看dede模板页面编码问题

  • pycharm怎么打开工具栏_pycharm菜单栏介绍

    pycharm怎么打开工具栏_pycharm菜单栏介绍  

  • 数据结构面试常见问题总结怎么写_前端数据结构与算法面试题

    数据结构面试常见问题总结怎么写_前端数据结构与算法面试题数据结构面试常见问题总结写在前面本文记录了一些数据结构面试常见问题,本意用于考研复试,以下面试题为网上整理的问题以及自己加入的一些问题,答案仅供参考!Q:数据结构三要素A:逻辑结构、物理结构、数据运算Q:数组与链表有什么区别?A:数组静态分配内存,链表动态分配内存数组在内存中连续,链表不连续数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n)数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)Q:线性表的存储结构?A:顺序存储(内

  • eruda.js 移动端调试神器使用教程(eruda)

    eruda.js 移动端调试神器使用教程(eruda)在日常的移动端开发时,一般都是试用chrome浏览器的移动端模式进行开发和调试,只有在chrome调试完成,没有问题了才会上到真机测试,移动端开发的一大问题就在于此,各种品牌各种型号手机,手机中各种类型的浏览器APP…还好移动端的相对一致点,但是往往都会有一些各种各样的坑,这时候就蛋疼了,明明chrome调试工具中是正常的,一到某个浏览器中就炸了,怎么办,又无法像在chrome中使用调试工具进行调试,只能通过alert()弹窗来调试,有什么办法可以像PC上那样清晰,可视化的调试呢?使用示例://#

    2022年10月26日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号