文章目录

  • 1. SSM使用c3p0连接池
    • 1.1 配置c3p0.properties属性文件
    • 1.2 Spring核心配置文件中配置applicationContext.xml
  • 2. c3p0-config.xml

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连接池配置模板,SSM中使用c3p0连接池配置属性相关推荐

  1. SSM中使用Druid连接池

    连接池 最原始的数据库使用就是打开一个连接并进行使用,使用过后一定要关闭连接释放资源.由于频繁的打开和关闭连接对jvm包括数据库都有一定的资源负荷,尤其应用压力较大时资源占用比较多容易产生性能问题.由 ...

  2. spring连接jdbc_在Spring JDBC中添加C3PO连接池

    spring连接jdbc 连接池是一种操作,其中系统会预先初始化将来要使用的连接. 这样做是因为在使用时创建连接是一项昂贵的操作. 在这篇文章中,我们将学习如何在Spring JDBC中创建C3P0连 ...

  3. mysql 多表既有内连接又有外连接_MySQL 多表查询中的内连接和外连接

    一般情况下一个网站的数据库通常会有多张数据表组成,这些数据表分别存储网站不同区域的内容.数据表之间可以用类似 ID 的字段来关联,在查询的时候可以通过一条语句来查询多张表的内容.例如 论坛的数据库,帖 ...

  4. mysql连接方式左联_数据库中的左连接(left join)和右连接(right join)区别 | 改变自己...

    Left Join / Right Join /inner join相关 关于左连接和右连接总结性的一句话: 左连接where只影向右表,右连接where只影响左表. Left Join select ...

  5. c# oldb连接_如何使用C#中的OleDbConnection 连接读取Excel?

    如何使用C#中的OleDbConnection 连接读取Excel? 发布时间:2020-07-11 15:12:06 来源:亿速云 阅读:114 这篇文章将为大家详细讲解有关如何使用C#中的OleD ...

  6. win7在哪看计算机配置,Win7系统中在哪里看电脑配置好坏以及查看方法步骤

    今天来聊聊一篇关于Win7系统中在哪里看电脑配置好坏以及查看方法步骤的文章,现在就为大家来简单介绍下Win7系统中在哪里看电脑配置好坏以及查看方法步骤,希望对各位小伙伴们有所帮助. 方法步骤 方法一. ...

  7. python中如何连接两个字符串_python中5种连接字符串的方法

    字符串是Python中常用的数据类型,在开发过程中可以对字符创进行截取并与其他字符创进行连接.本文为大家介绍了5种连接字符串的方法. 1.加号 如果有其他编程语言开发经验的人,肯定知道很多语言里面是用 ...

  8. 配置系列:(事物管理)ssm中applicationContext-transaction.xml的简单配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  9. linux mysql远程连接其他服务器_Linux服务器中MySQL远程连接的开启方法

    前言 学习MySQL重新整理以前非MK的记载 描述 没有开启的话连接数据库报错:2003-can't connect to MYSQL 方法/步骤 •第一步 远程连接上Linux系统,确保Linux系 ...

  10. 配置访问oracle_SpringBoot中application.properties的常用配置

    上篇搭建SpringBoot项目时,提到了在application.properties中修改端口号,还有很多常用的配置 1.简单配置 #应用名称spring.application.name=app ...

最新文章

  1. iframe的src怎么携带参数_三种传递gRPC动态参数方式的使用体验
  2. junit 运行_运行,JUnit! 跑!!!
  3. pagehelper插件oracle,带你学习最简单的分页插件PageHelper
  4. 【今日CV 视觉论文速览】29 Nov 2018
  5. git安装-centos版
  6. 推荐系统知识梳理——GBDTLR
  7. TensorFlow和Keras解决大数据量内存溢出问题
  8. java partialfunction,scala中方法和函数的区别
  9. happy 2016, happy 11111100000
  10. Elsevier LaTeX 模板
  11. C++跨平台开发——SOCKET网络编程中实现客户端对聊
  12. python实用教程答案 郑阿奇_VisualC++实用教程第4版_郑阿奇,习题参考答案,精品资料...
  13. Fiddler抓部分app时网络连接失败
  14. 十六进制转换为ASC码
  15. oracle计算两个日期相隔月数,计算日期相差
  16. vue上下全屏翻页_全屏翻页布局
  17. 易失性存储DRAM详解
  18. 以微博为例进行Oauth2进行第三方授权登录
  19. 使用STM8S003K3 ADC简介以及初始化
  20. 暗黑三的一些你需要注意的事情

热门文章

  1. PhotoShop基础——如何抠图
  2. git管理工具使用-本地通过git命令拉取项目
  3. Tomcat各版本说明
  4. 基于微信小程序的毕业设计题目(27)php校园跑腿小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)
  5. html 微信扫码登录,前端使用微信扫码登录
  6. PC网站实现微信扫码登录功能(二)
  7. (连载)用python在excel中对财务报表项目进行提取和计算
  8. Cmder安装并解决cmder here报错问题
  9. RePast J介绍
  10. vs2010开发android教程,用Visual Studio 2010开发Android应用