一个c3p0的数据库连接池的多线程测试
2019独角兽企业重金招聘Python工程师标准>>>
//一个c3p0的数据库连接池的多线程测试 import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Iterator;
import java.util.Random;import com.cn.wangk.db.DbUtil;
import com.cn.wangk.db.MyDbutil;
import com.mchange.v2.c3p0.ComboPooledDataSource;public class DbThread extends Thread {private int ThreadNum = 0;private ComboPooledDataSource ds;public DbThread(int num,ComboPooledDataSource ds) {ThreadNum = num;this.ds = ds;}public void run() {Random random = new Random();System.out.println("线程"+ThreadNum+"启动");int count = 0;Connection connection = null;try {connection = ds.getConnection();} catch (SQLException e2) {e2.printStackTrace();}try {connection.setAutoCommit(false);while(count<30){try {int inum = random.nextInt(1000);Thread.sleep(inum);} catch (InterruptedException e) {e.printStackTrace();}Statement stmt = connection.createStatement();System.out.println("线程"+ThreadNum+",第“"+count+"”次插入数据");stmt.execute("insert into test1 (name,cb)values('我是线程"+ThreadNum+",第“"+count+"”次插入数据!','"+ThreadNum+"')");stmt.close();count++;}if(ThreadNum==150)connection.commit();elseconnection.rollback();connection.setAutoCommit(true);} catch (Exception e) {try {connection.rollback();} catch (SQLException e1) {System.out.print(e1.getMessage());}System.out.print(e.getMessage());}finally{try {if(connection !=null)connection.close();} catch (SQLException e) {System.out.print(e.getMessage());}}//System.out.println(ThreadNum);}/*** @param args*/public static void main(String[] args) {ComboPooledDataSource ds = new ComboPooledDataSource();//truncate table test1// TODO Auto-generated method stubMyDbutil dbutil = MyDbutil.Open();//测试多数据流try {dbutil.execute("truncate table test1");} catch (Exception e) {e.printStackTrace();}for (int i = 0; i < 500; i++) {DbThread dbThread = new DbThread(i,ds);dbThread.start();}}}
转载于:https://my.oschina.net/lovelong1/blog/5809
一个c3p0的数据库连接池的多线程测试相关推荐
- 数据库连接池——C3P0:数据库连接池技术
数据库连接池 1. 概念:其实就是一个容器(集合),存放数据库连接的容器. 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接 ...
- JDBC学习总结(二)JDBC操作Blob类型字段高效的批量插入JDBC处理数据库事务将多个SQL看成一个事务执行数据库连接池C3P0DBCPDruidDBUtils工具类实现CRUD
JDBC学习总结(二)JDBC操作Blob类型字段/高效的批量插入/JDBC处理数据库事务/将多个SQL看成一个事务执行/数据库连接池C3P0/DBCP/Druid/DBUtils工具类实现CRUD ...
- C3P0(数据库连接池)详解
一.定义 C3P0是一个开源的JDBC连接池,它实现了数据源与JNDI绑定,支持JDBC3规范和实现了JDBC2的标准扩展说明的Connection和Statement池的DataSources对象. ...
- JDBC工具类,基于C3P0的数据库连接池,提供获取连接池、获取连接对象、释放资源和封装事务操作的方法...
/** * * JDBC工具类,基于C3P0数据库连接池的实现 * * @author 周瑜 * @2018年5月7日 下午2:13:20 */ public final class JD ...
- Spring Boot使用hikari、druid、c3p0等数据库连接池详解
文章目录 前言 Hikari连接池 Druid连接池 Druid(新版starter)连接池 C3P0连接池(1 C3P0连接池(2 扩展 前言 截至Spring Boot V2.0为止,官方仅为下列 ...
- tomcat c3p0 mysql_C3P0数据库连接池与tomcat一起使用时报错
C3P0在自己做单元测试的时候不报错,生成web项目以后只要采用相应的连接就会报错 相应配置如下: 报错信息如下: 六月 26, 2016 4:20:50 下午 org.apache.catalina ...
- [原创]java WEB学习笔记80:Hibernate学习之路--- hibernate配置文件:JDBC 连接属性,C3P0 数据库连接池属性等...
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- c3p0,DBCP,Druid(德鲁伊)数据库连接池
c3p0,DBCP,Druid(德鲁伊)数据库连接池 每博一文案 佛说:前世 500 次的回眸,才换来今生的一次擦肩而过. 人与人之间的缘分,真的无需强求,并不是所有的感情都能天长地久,正如<越 ...
- 数据库连接池简单介绍和 C3P0的JDBC配置
前面一节我们介绍了怎样利用jdbc连接数据库,已经实现了数据库的连接,可是在实际的项目开发中,能够发现基本上都使用了数据库连接池技术.为什么要使用数据库连接池呢?根源在于对数据库连接的低效管理 答: ...
- Java数据库连接池知识汇总(C3P0+DBCP+Druid)
为什么要使用数据库连接池技术? 数据库连接池技术的优点 1. 资源重用 由于数据库连接得以重用,避免了频繁创建,释放连接引起的大量性能开销.在减少系统消耗的基础上,另一方面也增加了系统运行环境的平稳性 ...
最新文章
- 性能优化之Java(Android)代码优化
- java--设计模式总结
- 互联网高并发架构技术实践
- PyTorch实战GANs
- 【译】IPFS — The Permanent, Distributed Web Continues…..
- java - springmvc整合cxf发布webservice
- python3 在线加密_Python3对称加密算法AES、DES3实例详解
- 年老代过大有什么影响
- 你掌握垃圾分类大法了吗?图像分类1分钟轻松解决
- 【BZOJ3942】Censoring [KMP]
- C语言深度解剖读书笔记(6.函数的核心)
- 洛谷OJ测评常见的错误
- [原]VC被控制时关闭极域电子教室、破解联想硬盘保护系统密码(下)
- 移动前端开发和 Web 前端开发的区别
- PowerShell路转粉之造轮子(01)------B站离线缓存简单合并blvm4s
- JS 函数参数及其传递
- Java注解处理器使用详解
- 高速PCB设计指南系列(四)
- 第一章Java概述及开发环境搭建
- python回车换行怎么不行_python回车不能换行怎么办
热门文章
- fwr171改无线服务器,迅捷(Fast)FWR171无线路由器3G路由模式设置
- linux下下载fnl数据,NCEP再分析资料FNL数据在windows平台用cygwin批量下载方法
- Android【报错】android.content.ActivityNotFoundException:activity in yourAndroidManifest.?
- P版openstack-nova-compute中日志报错无法同步resource_provider
- CentOS下Neo4j安装教程
- composer 的快速安装
- 极客学院 HTML5
- Linux安装Oracle,卡在60%处的解决方法
- Linux学习笔记(用户管理)
- 多记,多问为什么,最古老的学习方法怎么能丢?!