C3P0连接池

Flink实战项目——城市交通实时监控平台 本项目是与公安交通管理综合应用平台、机动车缉查布控系统等对接的,并且基于交通部门现有的数据平台上,进行的数据实时分析项目。 阅读详情
 package   C3P0;
import   java.sql.Connection;
import   java.sql.SQLException;
import   java.beans.PropertyVetoException;
import   com.mchange.v2.c3p0.ComboPooledDataSource;
public   class   DBPool{      
    private   static   DBPool   dbPool;      
    private   ComboPooledDataSource   dataSource;    

    static   {      
            dbPool=new   DBPool();      
    }      
   
    public   DBPool(){      
            try   {      
                    dataSource=new   ComboPooledDataSource();      
                    dataSource.setUser( "id ");      
                    dataSource.setPassword( "pw ");      
                    dataSource.setJdbcUrl( "jdbc:mysql://127.0.0.1:3306/test?

autoReconnect=true&useUnicode=true&characterEncoding=GB2312 ");
                    dataSource.setDriverClass( "com.mysql.jdbc.Driver ");
                    dataSource.setInitialPoolSize(2);
                    dataSource.setMinPoolSize(1);
                    dataSource.setMaxPoolSize(10);
                    dataSource.setMaxStatements(50);
                    dataSource.setMaxIdleTime(60);      
            }   catch   (PropertyVetoException   e)   {      
                throw   new   RuntimeException(e);      
            }      
    }      

    public   final   static   DBPool   getInstance(){      
            return   dbPool;      
    }      

    public   final   Connection   getConnection()   {      
            try   {      
                    return   dataSource.getConnection();      
            }   catch   (SQLException   e)   {      
                    throw   new   RuntimeException( "无法从数据源获取连接 ",e);      
            }      
    }    
   
    public   static   void   main(String[]   args)   throws   SQLException   {
Connection   con   =   null;
try   {
con   =   DBPool.getInstance().getConnection();
}   catch   (Exception   e){
}   finally   {
if   (con   !=   null)
con.close();
}
}
}

 

 

 

 

每用一次都要
  Connection  conn  =  DBPool.getInstance.getConnection();
一次。。感觉没起到连接池的作用啊


楼主,使用连接池的时候并不是在代码中不用获取/释放数据库连接,而是在代码中向连接池申请/释放连接,对于代码而言,可以把连接池看成数据库。

换句话说,连接池就是数据库的代理,之所以要使用这个代理是因为直接向数据库申请/释放连接是要降低性能的:如果每一次数据访问请求都必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗资源又费时的工作,那么频繁发生这种数据库操作时,系统的性能必然会急剧下降。

连接池的作用是自己维护数据库连接,数据库连接池的主要操作如下:
  (1)建立数据库连接池对象(服务器启动)。
  (2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。
  (3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。
  (4)存取数据库。
  (5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。
  (6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。

 

从连接池获取的连接connection跟JDK中的connection有点不同,前者的close方法并没有关闭与数据库的连接,而是将连接返回到池中,这样就可以复用了。如果不调用close方法的话拿就失去了使用连接池的意义了。

【推荐100个unity插件之7】使用BehaviorDesigner插件制作BOSS的AI行为树 Behavior Designer是一个行为树插件,是一款为了让策划,程序员,美术人员方便使用的可视化编辑器。Behavior Designer提供了强大的AP1可以让你轻松的创建tasks(任务),配合uScript和PlayMaker这样的插件,可以不费吹灰之力就能够创建出强大的Al系统,而无需写行代码。(不懂PlayMaker的,我后面在单独出文章介绍一下,可以期待一下) 阅读详情

相关推荐

逆向实战:手把手教你分析Google DroidGuard虚拟机的加密与反调试(附Python脚本)

本文深入解析Google DroidGuard虚拟机的加密机制与反调试策略,提供从环境配置到逆向分析的完整实战指南。通过IDA Pro、Frida等工具链,详细剖析DroidGuard的信号拦截、内存校验等保护机制,并附Python脚本实现自动化分析,助力Android安全研究人员突破GMS核心组件的安全防护。

weixin_32428571的博客 313

using the Connector/J connection property 'autoReconnect=true' to avoid this problem

问题描述: com.mysql.jdbc.CommunicationsException: The last packet successfully received from the server was58129 seconds ago.The last packet sent successfully to the server was 58129 seconds ago, which i...

broccoli2的博客 3166

使用 C# 实现大华监控摄像头的控制与数据处理

本文介绍了使用C#调用大华SDK(DHNetSDK.dll)开发监控系统的方法。主要内容包括:开发准备、DLL引用设置、SDK初始化与设备登录、视频预览窗口嵌入、云台控制、抓图录像等核心功能实现。通过P/Invoke技术封装SDK接口,开发者可以快速构建具有视频监控、设备控制功能的C#应用程序。文中还提供了代码示例、常见问题解决方案,以及视频帧智能分析的扩展建议,为开发大华监控系统的二次应用提供了完整的技术指南。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1280

C3P0 ComboPooledDataSource初始化

C3P0 ComboPooledDataSource初始化:[url]http://donald-draper.iteye.com/blog/2343522[/url] C3P0 DriverManagerDataSource初始化:[url]http://donald-draper.iteye.com/blog/2343564[/url] WrapperConnectionPoolDa...

Donald_Draper 1516

新手必看!BUUCTF-PWN题实战:从零搭建Kali环境到成功RIP栈溢出

本文为CTF二进制安全新手提供了一份详实的BUUCTF-PWN入门指南。内容涵盖从零搭建Kali Linux环境、安装配置pwntools等核心工具,到深入浅出地讲解栈溢出原理与汇编基础,并手把手带领读者完成一道名为“rip”的经典栈溢出题目实战,成功利用漏洞获取系统权限。

t8u9v0w1x的博客 504

Workbench下列车转向架随机振动疲劳分析

结果中添加功率谱响应工具(Response PSD Tool),可以查看几何体以及远程点上的功率谱密度,如下图11所示,这里查看几何体上某一硬点的加速度功率谱密度响应曲线,如下图12所示。结果中添加疲劳工具(Fatigue Tool),查看列车转向架的疲劳寿命情况,这里采用窄带的寿命假设理论,曝光时间为1s指明计算出的疲劳寿命的基本单位是秒,寿命结果如下图14所示,可以看到最大寿命为1e35s,最小寿命为2.3542e18s,注意单位制,可再次基础上将其转换为小时或天。频域上的统计计算,软件很快计算完成。

ansysxuexizhe的博客 2605

Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource

启动Tomcat开始,但是,卡在了Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource ,后续还有问题解释。这是我刚打算写记录的时候,出现了问题的解释。 现在,我说下,我自己的错误。我是在hibernate配置MySQL的用户名跟密码出现了错误。所以,在c3po的时候,卡到了哪里。你可以看看。您时间充足的话,可以等

m0_37626203的博客 3248

基于 YOLO + SAM 的自动图像标注实战

摘要: 本文提出一种基于YOLO检测和SAM分割的自动化数据标注流水线方案,通过YOLO定位目标并生成检测框,再以检测框为提示驱动SAM完成精细分割,最终输出YOLO格式的标注文件。该方案将人工标注升级为半自动流程,显著提升标注效率,尤其适用于多类别、大规模图像的实例级标注需求。代码模块化设计支持模型灵活替换,并集成异常处理与进度可视化功能。虽依赖YOLO检测质量且对小目标存在局限,但作为工程落地方案,可有效降低私有数据集构建成本,适用于工业检测、遥感等场景的冷启动标注。

qq_64366203的博客 1147

c3p0连接mysql8.0报错问题

问题描述 使用mybatis和JDBC进行连接都是没问题的,而使用c3p0就开始报错:java.sql.SQLException: No suitable driver 解决方法 想到之前mysql8.0的各种“不一样”,猜想可能是mysql版本导致,于是从这方面入手,找到了问题所在。 要更新jar的版本和c3p0配置方式 jar包版本: <dependency> <g...

不断奔跑 1610

redhawk:Low Power Analysis

1.rush current与switch cell 在standby状态下为了控制leakage power我们选择power gating的设计方式,使用power switch cell关闭block/power domain的电源。 power switch的基本介绍可见: 低功耗设计-Power Switch power switch的table中有四种状态,对应block工作、待机和上电,下电。low power analysis主要分析上电的过程。 上电过程可以看做mos电容

m0_61544122的博客 3206

ssd训练自己的数据集

基于SSD实现目标检测(训练自己的数据集)

reset2021的博客 6804

C3P0连接池的使用

C3P0连接池的使用什么是连接池? 什么是连接池? 既然叫做池,那么连接池(Connection Pool)就是存在很多连接的一个“池塘”。它是一种创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。简单来说,连接池就是预先准备好了一些连接对象,当有需要的时候就可以直接用这些已经准备好的连接,无需重新创建连接,在有大量连接需求的场合非常适用。 ...

m0_52363682的博客 5230

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C3P0连接池配置

C3P0是一个开源的JDBC连接池。 在Spring中,C3P0的一些配置,介绍如下(只列了一部分,不是全部)

caihaijiang的专栏 10万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

maven依赖c3p0_C3P0连接池的使用

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展,设计非常简单易用C3P0的基本使用添加maven依赖mysqlmysql-connector-java5.1.44com.mchangec3p00.9.5编写C3P0工具类public class C3P0Utils {private static ComboPooledDataSource...

weixin_39720003的博客 1790

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

c3p0连接池

遇到的问题:c3p0-config.xml 配置文件名一定要正确,且一定要在resources资源文件中,因resources误打成resourses,调了半天bug。 c3p0 简单的说,c3p0就是一个连接池。Java项目涉及数据库的操作的时候,需要编写代码用jdbc驱动来连接数据库,以此来对数据进行操作。但每访问以此数据库都需要建立连接,做完查询,又断开连接,这样带来的时间开销非常大。而c3p0就是建立一个"池子",这个"池子"里存放了很多它已经预先建立好的连接,但要访问数据库的时候,就直接拿一个连接

D_Bamboo_的博客 1920

MyBatis连接池使用,如何配置c3p0连接池

MyBatis连接池使用 一、为什么MyBatis要配置连接池 MyBatis在实际开发中,不管是POOLED还是UNPOOLED都不适用。MyBatis自带的连接池设计较为简单,并不适用于大型开发项目。 二、使用c3p0替换MyBatis 导入c3p0的jar包 创建c3p0的C3p0DataSourceFactory工厂继承UnpooledDataSourceFactory,代码如下: public class C3p0DataSourceFactory extends UnpooledDataSo

weixin_44967898的博客 967

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

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

Java小皮孩 3080

C3P0连接池的配置与使用

1、下载c3p0-0.9.1.2.jar 下载地址:http://download.youkuaiyun.com/detail/chunxiaqiudong5/9661922 2、添加配置文件c3p0-config.xml 3、配置文件内容如下: 10 30 100

快乐de馒头 3万+

C3P0连接池的简单介绍

c3p0是一个易于使用的库,用于通过JNDI可绑定的数据源(包括实现连接和语句池的数据源)扩展传统的(基于DriverManager的)JDBC驱动程序,如jdbc3规范和jdbc2 std扩展所述。 C3P0的使用步骤: 1.下载jar包,导包 c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar 2.配置使用的xml配...

LOVE_Me__的博客 495

C3P0连接池的配置和使用

1.1 C3p0连接池的简介: C3P0地址:https://sourceforge.net/projects/c3p0/?source=navbar C3P0是一个开源的连接池。Hibernate框架,默认推荐使用C3P0作为连接池实现。 C3P0的jar包:c3p0-0.9.1.2.jar C3P0连接池jar包(完整版)百度网盘链接:https://pan.baidu.com/s/1...

huangyh技术栈 8544
上一篇: java加密算法
下一篇: 数据库连接池技术中dbcp、c3p0、jndi三者的联系
msg_java2011
博客等级 码龄15年 18粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值