C3p0数据库的连接方式是目前市场场最为广泛的类型之一

本篇主要你演示C3p0使用文件配置和不使用文件配置的两种操作方式

#######使用文件配置

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;import com.dbutil.zyz.ConnLink;
import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3p0Demo1 {
//首先演示下C3p0不使用配置文件的连接数据库的方式static ConnLink connlink=new ConnLink();static Connection conn=null;static PreparedStatement pstmt=null;public static void main(String[] args) throws SQLException {try {//总体步骤配置如下,可以作为模板使用//1.创建datasourceComboPooledDataSource dataSource=new ComboPooledDataSource();//2.设置连接数据的信息dataSource.setJdbcUrl("jdbc:mysql://localhost/test");dataSource.setDriverClass("com.mysql.jdbc.Driver");dataSource.setUser("root");dataSource.setPassword("root");//得到连接对象conn=dataSource.getConnection();String sql="insert into blank values(null,?,?)";pstmt=conn.prepareStatement(sql);pstmt.setString(1, "test");pstmt.setInt(2,2000);pstmt.executeUpdate();} catch (Exception e) {e.printStackTrace();}finally{connlink.relese(conn, pstmt);}}
}

########不使用文件配置

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3p0Demo2 {//下面开始演示使用配置文件的C3p0用法static ConnLink connlink=new ConnLink();static Connection conn=null;static PreparedStatement pstmt=null;public static void main(String[] args) throws SQLException {//就new了一个对象。在这种情况下c3p0会直接找到c3p0-config.xml文件//并且在c3p0-config.xml文件中默认的找到 default-config配置try {ComboPooledDataSource dataSource=new ComboPooledDataSource();//2.得到连接对象conn=dataSource.getConnection();String sql="insert into blank values(null,?,?)";pstmt=conn.prepareStatement(sql);pstmt.setString(1, "root");pstmt.setInt(2,20000);pstmt.executeUpdate();} catch (Exception e) {e.printStackTrace();}finally{connlink.relese(conn, pstmt);}}
}

其中配置文件的信息如下(文件名称不可以更改)

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config><default-config><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost/test</property><property name="user">root</property><property name="password">root</property><property name="initialPoolSize">5</property><property name="maxPoolSize">20</property></default-config><named-config name="oracle"> <property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql:///web_07</property><property name="user">root</property><property name="password">123</property></named-config></c3p0-config>

注意:代码中的释放调用代码如下

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class ConnLink {
//数据库的连接部分public String jdbc_driver="com.mysql.jdbc.Driver";public String jdbc_conn="jdbc:mysql://localhost:3306/test";public String user="root";public String pass="root";//返回连接函数的部分public Connection getConn() throws SQLException, ClassNotFoundException{//1.注册驱动
        Class.forName(jdbc_driver);//2.获取连接Connection connection=DriverManager.getConnection(jdbc_conn,user,pass);return connection;}//释放连接资源的部分public void relese(Connection conn,PreparedStatement pstmt) throws SQLException{if(pstmt!=null) pstmt.close();if(conn!=null) conn.close();}
}

#####数据库变化如下

转载于:https://www.cnblogs.com/byczyz/p/11349052.html

java----连接池C3p0使用的补充相关推荐

  1. java 连接池 druid_从零开始学 Java - 数据库连接池的选择 Druid

    我先说说数据库连接 数据库大家都不陌生,从名字就能看出来它是「存放数据的仓库」,那我们怎么去「仓库」取东西呢?当然需要钥匙啦!这就是我们的数据库用户名.密码了,然后我们就可以打开门去任意的存取东西了. ...

  2. 四个常用的Java连接池

    C3P0.BoneCP.DBCP.Proxool是四个常用的Java连接池,根据环境需求和项目要求选取适当的线程池完成数据库相关操作. C3P0 是一个开放源代码的JDBC连接池,它在lib目录中与H ...

  3. 几个主流的Java连接池整理

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  4. java连接池hkai,MySQL连接配置文件密码加密及其在多种连接池上的应用

    为了安全,连接数据库的配置文件中,如密码等信息需要采用密文的形式存放. 本文将给出多种连接池数据库密码密文存放的实现~ 如何配置数据库密码加密访问数据库? 将配置文件用户相关的信息(例如:密码)进行加 ...

  5. spring3+hibernate4配置连接池C3P0

    hibernate自带的连接池一般用在开发阶段或学习阶段,但是在部署到服务器后种种问题涌现 hibernate使用连接池c3p0有2中配置方式 1. 配置在文件applicationContext.x ...

  6. 几个主流的Java连接池

    要了解Java连接池我们先要了解数据库连接池(connection pool)的原理,Java连接池正是数据库连接池在Java上的应用.--我们知道,对于共享资源,有一个很著名的设计模式:资源池(Re ...

  7. java连接池 dbcp 样例_DBCP数据库连接池的简单使用

    0.DBCP简介 DBCP(DataBase connection pool)数据库连接池是 apache 上的一个Java连接池项目.DBCP通过连接池预先同数据库建立一些连接放在内存中(即连接池中 ...

  8. java连接池的maxIdle该如何配置

    java连接池的maxIdle该如何配置 maxIdle值与maxActive值应配置的接近. 因为,当连接数超过maxIdle值后,刚刚使用完的连接(刚刚空闲下来)会立即被销毁,若maxIdle与m ...

  9. java连接池域名切换_java - 使用JDBC的连接池选项:DBCP与C3P0

    java - 使用JDBC的连接池选项:DBCP与C3P0 什么是可用于Java / JDBC的最佳连接池库? 我正在考虑2个主要候选人(免费/开源): Apache DBCP - [http://c ...

  10. java 连接池_初探数据库连接池

    参考资料 数据库连接池学习笔记(一):原理介绍+常用连接池介绍 java数据库连接池实现原理 高性能数据库连接池的内幕 1. 为什么要使用连接池 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户 ...

最新文章

  1. 文件查找利器---find详解
  2. 未来可能发生的十大颠覆性创新
  3. Science封面:三元锂电池安全性差、寿命短问题已解决,来自美国能源部华人团队最新研究...
  4. 小工匠聊架构- 提升性能的大杀器之缓存技术
  5. Java进阶:default方法说明
  6. android动态jar,Android动态加载Jar(包含第三方依赖Jar)
  7. LibJson数据解析方法
  8. 获取应用程序信息.h
  9. VCAP6 – DCV DESIGN COLLECTION
  10. Linux笔记(shell特殊符号,sort排序,wc统计,uniq去重,tee,tr,split)
  11. shell sort 最后一列排序_十个必知的排序算法|Python实例系列[1]
  12. Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令
  13. OFFICE技术讲座:边框的3D与方框的区别
  14. python计算机视觉库_荐 python计算机视觉入门
  15. 20200408_W_水波理论和波浪载荷
  16. Tomcat各版本说明
  17. 计算机开放电子书 2016 归档
  18. java经典sql笔试题
  19. idea 格式化模板修改
  20. matlab libsvm支持向量机工具箱安装与使用

热门文章

  1. php session 效率,大量php session临时文件带来的服务器效率问题
  2. ceph rgw java_ceph rgw multisite基本用法
  3. 访问权限冲突定义_一文读懂F5 REST API的细粒度角色访问控制
  4. word公式插件_再也不用担心我的公式写不出来了:一款公式输入神器实测
  5. linux转换vcf格式,如何使用awk分割vCard通讯录文件(.vcf)
  6. flex java 开发环境搭建_Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立)
  7. java 五子棋项目_Java项目如何实现五子棋小游戏
  8. java xmpp openfire_搭建Xmpp服务器Openfire
  9. linux redis客户端_为什么单线程Redis能那么快?
  10. Linux GRUB 引导Win 7 ---- error: invalid EFI file path