C3P0连接池工具类使用

c3p0的基本连接配置文件 c3p0-config.xml

<c3p0-config><default-config><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql:///mybase</property><property name="user">root</property><property name="password">123456</property><property name="initialPoolSize">5</property><property name="maxPoolSize">20</property></default-config><named-config name="another"><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql:///mybase</property><property name="user">root</property><property name="password">123456</property></named-config></c3p0-config>

c3p0工具类

package cn.cc.jdbc.utls;import java.sql.Connection;
import java.sql.SQLException;import javax.sql.DataSource;import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3P0Utils {private static ComboPooledDataSource dataSource=new ComboPooledDataSource();public  static DataSource getDataSource(){return dataSource;}public static Connection getConnection(){try{return dataSource.getConnection();}catch (SQLException e){throw new RuntimeException(e);}}
}

测试类

public class TestC3p0 {@Testpublic void testAddUser1(){Connection conn=null;PreparedStatement ps=null;try{//2.从池子中获取连接conn=C3P0Utils.getConnection();String sql="insert into tbl_user values(null,?,?)";//3.必须在自定义的connection实现类中重写preparedStatement方法ps=conn.prepareStatement(sql);ps.setString(1, "吕布3");ps.setString(2, "貂蝉3");int rows=ps.executeUpdate();if(rows>0){System.out.println("添加成功");}else{System.out.println("添加失败");}}catch (Exception e){throw new RuntimeException(e);}finally {JDBCUtils_v3.release(conn, ps, null);}}}

 

转载于:https://www.cnblogs.com/benjamin77/p/9166875.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目经理常见的沟通坏习惯

沟通失败有很多原因&#xff0c;每个项目经理都必须熟悉这些原因、了解其中的行为、并且有责任避免沟通失败的发生。在一些团队中&#xff0c;会产生失败的沟通、失败的项目是因为团队经理本身的坏习惯行为或者他本人容忍组员有些行为&#xff0c;而这些行为和坏习惯无意中会导…

Android屏幕适配

Android屏幕适配一直是Android开发们的一个痛点&#xff0c;各种各样的屏幕分辨率等&#xff0c;对Android的屏幕适配带来了很大的麻烦&#xff0c;而谷歌的解决方案也并不被所有人满意&#xff0c;所以笔者结合Android官方文档&#xff0c;来谈谈这个话题。 术语和基本概念 本…

万维网www

WWW是环球信息网的缩写&#xff0c;&#xff08;亦作“Web”、“WWW”、“W3”&#xff0c;英文全称为“World Wide Web”&#xff09;&#xff0c;中文名字为“万维网”&#xff0c;"环球网"等&#xff0c;常简称为Web。 分为Web客户端和Web服务器程序。 WWW可以让W…

飞控计算机的作用,用于波音777飞机的主要飞控计算机

用于波音777飞机的主要飞控计算机飞行控制计算机容错技术本文介绍了在ERA1992年航空电子会议上介绍的波音777的主要飞控计算机。介绍了系(本文共1页)阅读全文>>在对无人机飞控计算机技术发展应用叙述的基础上,设计了一款基于Zynq平台的应用于小型无人机的飞控计算机硬件平…

Springboot,SSM框架的区别

参考文献&#xff1a;文章一 参考文献&#xff1a;文章二 总结&#xff1a; 1.Springboot 将原有的 xml 配置&#xff0c;简化为 java 注解 2.使用 IDE 可以很方便的搭建一个 springboot 项目&#xff0c;选择对应的 maven 依赖&#xff0c;简化Spring应用的初始搭建以及开发过…

Mysql导入excel数据,解决某些特殊字符乱码问题

问题 做项目需要从excel表格导入到mysql的数据库表中&#xff0c;excel表格中的“规格”字段的“”符号导入数据库表中&#xff0c;会出现部分数据的“”这个符号会乱码&#xff0c;成“&#xff1f;”的形式。 解决方法 打开excel表格&#xff0c;另存为csv文件&#xff1b;用…

Redis进阶实践之十六 Redis大批量增加数据

原文:Redis进阶实践之十六 Redis大批量增加数据一、介绍 有时候&#xff0c;Redis实例需要在很短的时间内加载大量先前存在或用户生成的数据&#xff0c;以便尽可能快地创建数百万个键。这就是所谓的批量插入&#xff0c;本文档的目标是提供有关如何以尽可能快的速度向…

项目经理沟通的四个好习惯

一名项目经理沟通的时间占到工作时间的80%&#xff0c;所以如何提高沟通效率就变成了项目经理提高工作效率的重点。 一名优秀的项目经理&#xff0c;无疑是一个好的沟通者。因为&#xff0c;专业的技能可以使你成为某个领域的专家&#xff0c;但出色的沟通技能&#xff0c…

u盘安装成功计算机里找不到文件夹,u盘里的文件不见了,详细教您U盘内容不显示怎么办...

在工作、学习中&#xff0c;我们需要把资料携带外出的时候&#xff0c;首选的存储工具基本上都是U盘。不过有用户在使用U盘时却遇到了U盘的所有的文件夹不见了的情况&#xff0c;但内存的明明文件还在&#xff0c;这到底是为什么呢&#xff1f;难道U盘的文件真的不见了吗&#…

五分钟实现SpringBoot快速入门

文章目录一、创建Maven工程二、添加SpringBoot的起步依赖三、编写SpringBoot引导类四、编写Controller五、测试六、SpringBoot工程热部署一、创建Maven工程 二、添加SpringBoot的起步依赖 文件位置&#xff1a;pom.xml SpringBoot要求&#xff0c;项目要继承SpringBoot的起步…

分布式系统开发工具包 —— 基于Kryo的Java对象序列化

Kryo是用于Java语言的一个快速和高效的对象图序列化框架。Kryo项目的目的是快速、高效、方便地使用API。当需要持久化对象的时候&#xff0c;不论是持久化到文件、数据库还是网络&#xff0c;都可以使用Kryo。 目前Kryo已经到了4.0.1版本以上了。本文的介绍适用于V2.0以上版本。…

代码编辑器Sublime Text 可以跨平台(linux,window,os x)

说到代码编辑器&#xff0c;大部分人首先会想到UltraEdit&#xff0c;EmEditor和notepad。但今天要介绍的是另一款功能非常强大的代码编辑器——Sublime Text。Sublime Text还是一款跨 OS X、Linux 和 Windows 三大平台的文字/代码编辑器。除了Sublime Text出色的功能&#xff…

计算机画图怎样更改文字,如何在图片上改字|超简单的修改图片里文字方法

这篇文章将要给大家介绍的是&#xff0c;不用联网&#xff0c;不用下载专业的图像处理软件&#xff0c;单纯用画图工具&#xff0c;就能修改表情包、图片上文字的方法&#xff0c;只适合简单的图片处理&#xff0c;复杂的还是交给专业的图像处理工具吧。下面系统吧就给大家带来…

软件维护

所谓软件维护就是在软件已经交付使用之后&#xff0c;为了改正错误或满足新的需要而修改软件的过程。可以通过描述软件交付使用后可能进行的4项活动&#xff0c;具体地定义软件维护。 1.改正性维护 因为软件测试不可能暴露出一个大型软件系统中所有潜藏的错误&#xff0c;所以…

【intellij idea】Project Structure 讲解

参考文章&#xff1a;戳这里 谢谢楼主分享

将以太坊封装为 ERC20

将以太坊封装为 ERC20 TOKEN 很多 DAPP 都是在处理 ERC20接口的 token, 其实很容易将以太坊封装为 ERC20,这样就可以统一处理, 至少我目前在做的雷电网络就是这么处理的. 主要内容复制在网络https://programtheblockchain.com/posts/2018/05/26/wrapping-ether-in-an-erc20-tok…

javascript高级程序设计学习之数值转换 |Number(),parseInt(),parseFloat()

2019独角兽企业重金招聘Python工程师标准>>> 将非数值转换成数值的函数有三个&#xff1a;Number(),parseInt(),parseFloat(); 小记tip&#xff1a;Number()可以用于任何数据类型&#xff1b;parseInt(),parseFloat()针对的是将字符串&#xff1b; Number()的转换规…

软件的可维护性

可以把软件的可维护性定性地定义为&#xff1a;维护人员理解、改正、改动或改进这个软件的难易程度。 提高可维护性是支配软件工程方法学所有步骤的关键目标。

服务器内存延迟,内存带宽、延迟性能测试

内存带宽、延迟性能测试华为FusionServer 2488H V5服务器主板集成了48个内存插槽&#xff0c;但送测机器配备有限。由于送测机型整合了四通道内存控制器&#xff0c;这样使得平台的内存带宽得到了明显的提升。SiSoftware Sandra Lite 2011中提供了内存带宽、内存延迟和缓存性能…