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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • httprunner(2)下载安装[通俗易懂]

    httprunner(2)下载安装[通俗易懂]环境要求HttpRunner是一个基于Python开发的测试框架,可以运行在macOS、Linux、Windows系统平台上。这里使用macOS系统进行演示对于python版本要求:py

    2022年7月30日
    13
  • 世界上行政区划最简单的国家_世界地图行政区划图

    世界上行政区划最简单的国家_世界地图行政区划图序号 国家 省 城市 1 不丹 不丹   2 东帝汶 东帝汶   3 中国 上海 上海 4 中国 中国   5 中国 云南   6 中国 云南 临沧 7 中国 云南 丽江 8 中国 云南 保山 9 中国 云南 大理白族自治州 10 中国 云南 德宏傣族景颇族自治州 11

    2022年9月29日
    4
  • pyd文件介绍

    pyd文件介绍pyd 一般是 python 外的其他语言如 C C 编写的 python 扩展模块 即 python 的一个动态链接库 与 dll 文件相当 在 linux 系统中一般为 so 文件 也有的时候 为了对 python 文件进行加密 会把 python 模块编译成 pyd 文件 供其他人使用 拿到一个 pyd 文件 在没有文档说明的情况下 可以试试查看模块内的一些函数和类的用法 首先 importXXX pyd 的文件名 然后直接 print dir XXX print help XXX 其中 dir 列出了属性和方法 help

    2025年8月12日
    2
  • 几何角度理解叉乘

    几何角度理解叉乘简介 本文解释了叉乘的计算 行列式 和几何解释之间的关系 1 叉乘的计算及几何解释在我学习叉乘 本文只考虑三维向量 的时候 老师教了我们两个东西 叉乘的计算方法 用行列式 设有向量 v v1 v2 v3 w w1 w2 w3 vec v v 1 v 2 v 3 quad vec w w 1 w 2 w 3 quadv v1 v2 v3

    2025年6月25日
    2
  • 漫画:独立女性真的更讨人喜欢吗?

    今天给大家推荐一篇反套路的漫画 谁说女主都要是清纯白莲花? 《总裁想静静》 漫画已经完结,看起来更过瘾! 第一话 第二话 第三话 原文始发于微信公众号(全栈程序员社区):漫画:独立…

    2021年6月22日
    69
  • 多线程处理mq消息_实现多线程有几种方式

    多线程处理mq消息_实现多线程有几种方式何为CMQ?腾讯云消息队列(CloudMessageQueue,CMQ)是一种分布式消息队列服务,它能够提供可靠的基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)之间的收发消息,存储在可靠有效的CMQ队列中,防止消息丢失。CMQ支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。——来源以及更多内容推荐看官方文档。…

    2025年7月8日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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