public class DBUtilOfC3P0 {
private ComboPooledDataSource dataSource;
private static DBUtilOfC3P0 instance = null;
private DBUtilOfC3P0(String filePath) throws IOException,
PropertyVetoException {
String dataType = null; // 数据库类型1 Oracle 2 SqlServer 3 MySql
String dataname = null; // 数据库名
String URL = null; // 数据库URL
String port = null; // 端口号
String username = null;
String password = null;
String DBUrl = null;
String driverClassName = null;
INI.load(filePath);// 读取数据库配置文件(ini文件)
dataType = (String) INI.getValue("dataSource", "DataType");
URL = (String) INI.getValue("dataSource", "URL");
port = (String) INI.getValue("dataSource", "PORT");
username = (String) INI.getValue("dataSource", "UserName");
password = (String) INI.getValue("dataSource", "PassWord");
dataname = (String) INI.getValue("dataSource", "DataName");
if ("1".equalsIgnoreCase(dataType)) {
driverClassName = "oracle.jdbc.driver.OracleDriver";
DBUrl = "jdbc:oracle:thin:@" + URL + ":" + port + ":" + dataname;
} else if ("2".equalsIgnoreCase(dataType)) {
driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
DBUrl = "jdbc:sqlserver://" + URL + ":" + "; DatabaseName="
+ dataname;
} else if ("3".equalsIgnoreCase(dataType)) {
driverClassName = "com.mysql.jdbc.Driver";
DBUrl = "jdbc:mysql://" + URL + ":" + port + "/" + dataname;
}
dataSource = new ComboPooledDataSource(); // 设置jdbc连接信息
dataSource.setUser(username);
dataSource.setPassword(password);
dataSource.setJdbcUrl(DBUrl);
dataSource.setDriverClass(driverClassName);
// 设置连接池
dataSource.setInitialPoolSize(30);
dataSource.setMaxPoolSize(100);
dataSource.setMinPoolSize(10);
}
// 为了保证单例性,必须使用同步关键字
public synchronized static DBUtilOfC3P0 getInstance(String filePath)
throws IOException, PropertyVetoException {
if (instance == null) {
instance = new DBUtilOfC3P0(filePath);
}
return instance;
}
public Connection getConnection() throws SQLException {
Connection conn = null;
if (dataSource != null) {
conn = dataSource.getConnection();
}
return conn;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Long begin = System.currentTimeMillis();
Connection conn = null;
String filePath = "D:/workspace/myreport/WebRoot/WEB-INF/dataSource.ini";
try {
DBUtilOfC3P0 dBUtilOfC3P0 = DBUtilOfC3P0.getInstance(filePath);
for (int i = 0; i < 10000; i++) {
conn = dBUtilOfC3P0.getConnection();
if (conn != null) {
conn.close();
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (PropertyVetoException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
Long end = System.currentTimeMillis();
System.out.println("连接数据库所需要的时 间:" + (end - begin));
// 连接数据库所需要的时 间:828
}
}
相关推荐
C#中使用OpenCV的常用函数
c# opencv 常见操作
c3p0数据连接池结合单例的应用
package com.servletjsp.utils; import javax.sql.DataSource; import org.apache.commons.dbutils.QueryRunner; import com.mchange.v2.c3p0.ComboPooledDataSource; /**1.使用DBUtils工具连接数据库进行数据的相关操作 * 2.DBUtils来自apchede 子项目,是一个对jdbc操作数据库语句的封装,简化了jdbc复杂的操作语句流程,全程.
基于角谱传播的MATLAB仿真:从相位恢复看自由空间光传播
本文详细介绍了基于角谱传播理论的MATLAB仿真方法,用于模拟自由空间光传播过程。通过傅里叶光学原理,将光场分解为频谱并应用传播相位滤波器,实现了从纯相位物体到可观测衍射图样的仿真。文章结合具体代码,演示了如何利用角谱法进行相位恢复,为计算成像和生物医学检测等领域的研究提供了实用的仿真工具和思路。
Java使用C3P0连接池详解
什么是C3P0连接池: 开源的JDBC连接池,C3P0连接池是在程序操作数据库之前预先根据配置文件创建一定数量的连接,当线程需要时直接取走,缩短了创建连接的时间,当使用完毕后,释放连接后放回连接池,以此类推,如果连接池中的连接使用完后,程序会根据配置文件配置的数据再次创建一批,使用完后放回连接池,并不是真正的关闭连接。 C3P0和DHCP对比: DHCP没有自动回收空闲连接的功能 C3P0有自动回收空闲连接功能 C3P0连接池的重要性: 在Java开发中连接数据库使用到的场景很多,一般我们在项目
【算法】—前缀和与差分详解
前缀和指一个数组的某下标之前的所有数组元素的和(即数列的前n项求和),前缀和是一种重要的预处理,能够降低算法的时间复杂度,可以快速地求出某一段的和,对于处理区间之间的问题是往往十分高效相比较其他算法而言,前缀和更像是一种解题的技巧,一种优化方式输入一个长度为 n 的整数序列。接下来再输入 m 个询问,每个询问输入一对 l,r 对于每个询问,输出原序列中从第 l 个数到第 r 个数的和5 32 1 3 6 41 21 32 4123453610。
详解vit_base_patch16_224
ViT-Base模型的核心思想是将输入图像划分为多个小块(patches),并使用Transformer架构来处理这些小块。具体来说,ViT-Base使用16x16像素的patch大小,输入图像的尺寸为224x224像素,这意味着每张图像将被划分为49个patch(22416×22416=14×14=19616224×16224=14×14=196个patch)。ViT-Base(ViT-B/16)通过将图像处理任务转化为序列处理任务。
【Java 进阶篇】JDBC 数据库连接池 C3P0 详解
在了解 C3P0 数据库连接池之前,让我们先明确什么是数据库连接池。数据库连接池是一个维护数据库连接的池子,它预先创建一定数量的数据库连接,并将这些连接保存在池中,以便应用程序在需要时可以从池中获取连接,而不是每次都创建新的连接。数据库连接是一种昂贵的资源,创建和销毁连接的开销很大。通过使用连接池,可以避免频繁地创建和销毁连接,提高了数据库访问的性能和效率。连接池还可以控制连接的数量,防止连接数过多导致数据库性能下降,同时还可以管理连接的状态、超时和异常处理。
如何利用air780e与stm32c8c6进行通信实现给手机发送一条英文短信的功能?
🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up! 备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。
【Java 初级】Java 连接池 C3P0
C3P0是一个开源的Java连接池库,用于管理数据库连接。它提供了一种可靠的连接池实现,用于优化数据库连接的创建和销毁,提高应用程序的性能和可伸缩性。
如何在飞腾平台上安装Ubuntu操作系统
注意: 若主板上配置的是NVME硬盘,在进行内核配置时,需要将内核的NEME驱动勾选上,否则移植内核时,无法找到文件系统,进不去操作系统。可以通过rufus软件将镜像做到U盘中,本次使用版本为Rufus 3.9.124 ,其他版本也可以。不要下载live版本的,没有准备网络环境,是一个头疼的事情,笔者暂时没有实现网络安装。将U盘接到主板usb口上,接上串口,显示器,,必需串口有打印才可以安装。可以通过dd命令,将iso安装到U盘。安装的是最小系统,缺少很多命令,需要联网更新,或则更换飞腾专用内核。
ADS基础教程16 - 存档和导入(workspace、cell、view)
选择workspace_Archive目录作为保存workspace归档的目录,点击打开进行目录选择,点击Finish保存目录。,选择cell_Archive目录作为保存cell归档的目录,点击打开进行目录选择,点击Finish保存目录。,选择view_Archive目录作为保存view归档的目录,点击打开进行目录选择,点击Finish保存目录。(2)在弹框中,可以选择点击Select将参考的条目添加进来,然后点击Next…(2)在弹框中,可以选择点击Select将参考的条目添加进来,然后点击Next…
Java 数据库系列教程--C3P0详解
1、C3P0基本概念。 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。如果不知道什么是线程池,可以百度一下,我理解的呢,就是一个大水池,里面有很多鱼,每条鱼对应一个数据库连接,你拿到一条鱼你就获得一个连接,当然,这鱼不能吃,你摸完了还要放回去的。这例子有点变态哈哈,能理解就行。
【银河麒麟V10】【桌面】【服务器】系统启动问题
1、如果之前运行好好的,重启后系统报错,一般80%是因为fstab的问题,回想下之前有没有添加过外接存储,修改过/etc/fstab,如果是的话一般是因为存储异常(比如网络存储无法连接,本地存储路径变化)导致系统开机自检失败,导致无法正常启动; 处理方式:进入单用户(单用户进入的几种方式上面有专门文章介绍),修改/etc/fstab,将新增的内容暂时注释掉,然后重启系统,能正常进入系统后再分析失败原因。 ...
JSP中c3p0,servlet,三层架构和MVC设计模式的综合应用
上方脑图给出了思路和步骤,现在补全代码部分: 1.c3p0的配置文件: <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!-- 我们希望在配置文件中,出现链接的参数信息 --> <default-config> <!-- name 属性定义 链接参数的 key 标签的内容 代表值--> <property name="driverCl.
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
c3p0连接池
1. 依赖jar包: c3p0-0.9.1.2.jar 2.配置连接池 import java.sql.Connection; import java.sql.SQLException; import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3P0 { public static f...
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
使用c3p0数据库连接池示例代码 Java
先导入maven jar包 public final class DBConnectServer { //使用单利模式创建数据库连接池 private static DBConnectServer instance; private static ComboPooledDataSource dataSource; private DBConnectServer...
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
经典的单例模式c3p0来控制数据库连接池
1.新建ConnectionManager.javapackage com.c3p0.datapools; //数据库连接池 单例模式 import java.sql.Connection; import java.sql.SQLException; impor
C3P0连接池使用小结
转自:http://blog.youkuaiyun.com/bhq2010/article/details/9219947 C3P0在最近的demo中也用了(我用的是0.9.2.1版本),因为单例很难应付大量并发。 【引用请注明出处http://blog.youkuaiyun.com/bhq2010/article/details/9219947】 用法详见文档:http://www.mchange.c
java mysql c3p0连接池,使用c3p0数据库连接池示例代码 Java
先导入maven jar包public final class DBConnectServer {//使用单利模式创建数据库连接池private static DBConnectServer instance;private static ComboPooledDataSource dataSource;private DBConnectServer() throws SQLException, ...
数据库连接池DBCP和C3P0
直接代码: public class DBCPUtils { private static DBCPUtils dbcputils=null; private BasicDataSource bds=null; private DataSourceConnectionFactory dscf=null; private DBCPUtils(){ if
Spring中管理数据库连接池
Spring中管理数据库连接池 1. 导包: <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency> <!--mysql驱动包--> <dependency> <groupId&
java 数据库连接池 c3p0 使用及参数详解,支持重连
//数据库连接池 单例模式 import java.sql.Connection; import java.sql.SQLException; import com.mchange.v2.c3p0.ComboPooledDataSource; import com.mchange.v2.c3p0.DataSources; public final class Connect
C3P0
C3P0源码及jar包华为网盘 //数据库连接池 单例模式 import java.sql.Connection; import java.sql.SQLException; import com.mchange.v2.c3p0.ComboPooledDataSource; import com.mchange.v2.c3p0.DataSources; public final clas
c3p0数据库连接池工具类
名:DB DBClassName=com.mysql.jdbc.Driver DBUrl=jdbc:mysql://localhost:3306/synuatp DBroot=root DBpassword=sa
C3P0 + apache的dbutils 实现公用的增删改查功能
首先导入C3P0、mysql连接、apache的dbutils 的jar包 jar包获取地址:http://www.mvnrepository.com/进入搜索关键字即可下载相应jar包 文档树构建 c3p0配置文件c3p0-config.xml配置 <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> ...
1079



被折叠的 条评论
为什么被折叠?



