数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。

当应用程序启动时,系统主动建立足够的数据库连接,并将这些连接组成一个连接池。每当应用程序请求数据库连接时,无需重新打开连接,而是从池中去已有的连接使用,使用完后,不再关闭数据库连接,而是直接将连接归还给连接池。通过使用连接池,将大大提高程序运行效率。

1. C3p0的使用

C3p0是一个开源的JDBC连接池,不仅可以自动清理不再使用的Connection,还可以自动清理Statement和ResultSet。使用步骤

前期准备:上https://sourceforge.net/projects/c3p0/上下载c3p0的官方资料

step1:在项目上新建一个jars文件夹,添加c3p0的jar包

step2:在src中加入c3p0.properties配置文件

文件内容如下:

c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql://localhost:3306/mycore
c3p0.user=root
c3p0.password=mysql                                # the settings below are optional -- c3p0 can work with defaults
c3p0.minPoolSize=3
c3p0.initialPoolSize=4
c3p0.maxPoolSize=10

step3:编写测试程序

package com.test;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;import com.mchange.v2.c3p0.ComboPooledDataSource;public class Test {public static void main(String[] args)  {//step1:实例化javax.sql.DataSource接口的实现类,,如果使用的是Druid连接池,则实例化DruidDataSourceComboPooledDataSource cpds = new ComboPooledDataSource();//step2:系统会在classpath找c3p0.properties文件,把其中的配置初始化到cpds中try {//通过DataSource得到ConnectionConnection con=cpds.getConnection();//System.out.println(con);String sql="update stu set name=? where id=?";PreparedStatement ps=con.prepareStatement(sql);ps.setString(1, "诸葛亮");ps.setInt(2, 0);int re= ps.executeUpdate();System.out.println(re);con.close();} catch (SQLException e) {System.out.println("连接数据库失败");e.printStackTrace();}       }
}

数据库结果如下:

Mysql数据库连接池之C3p0的使用相关推荐

  1. 主流Java数据库连接池分析(C3P0,DBCP,TomcatPool,BoneCP,Druid)

    http://developer.51cto.com/art/201807/579402.htm 主流数据库连接池 常用的主流开源数据库连接池有C3P0.DBCP.Tomcat Jdbc Pool.B ...

  2. mysql数据库连接池_MySql数据库连接池

    1.传统链接(如下为示意图) 注意: (1).传统方式找DriverManager要连接,数目是有限的. (2).传统方式的close(),并没有将Connection重用,只是切断应用程序和数据库的 ...

  3. MySql数据库连接池

    1.传统链接(如下为示意图) 注意: (1).传统方式找DriverManager要连接,数目是有限的. (2).传统方式的close(),并没有将Connection重用,只是切断应用程序和数据库的 ...

  4. Tomcat 5.5 配置 MySQL 数据库连接池

    用了最新的几个咚咚,搞了整整一天终于搞清楚了Tomcat 5.5 配置 MySQL 数据库连接池,网上的经验并不能完全用到新环境里面,我写出整个过程以方便大家配置. 1 环境描述 JDK 1.5 To ...

  5. python实现数据库连接池_Python实现Mysql数据库连接池

    Python实现Mysql数据库连接池 python连接Mysql数据库: python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接mysql数据库请求时,都 ...

  6. tomcat7.0.42如何设置mysql数据库连接池

    转载自   tomcat7.0.42如何设置mysql数据库连接池 如何在tomcat7.0.42中设置mysql数据库连接池????eclipse如何绑定tomcat??按网上教程总不成功!怎么办 ...

  7. jboss mysql cluster_jboss配置mysql数据库连接池

    jboss配置mysql数据库连接池 下面YJBYS小编为大家整理了关于jboss配置mysql数据库连接池的文章,希望对你有所帮助.更多Java认证考试信息,尽在应届毕业生培训网! 1:配置: JD ...

  8. Python操作数据库及Python实现mysql数据库连接池源代码

    简介 pymysql:纯Python实现的一个驱动.因为是纯Python编写的,因此执行效率不如MySQL-python.并且也因为是纯Python编写的,因此可以和Python代码无缝衔接. MyS ...

  9. Node.js实现MySQL数据库连接池

    Node.js实现MySQL数据库连接池 1 什么是数据库连接池 2 原理及优点 3 连接池的作用 4 实现连接池 4.1 导入mysql模块 4.2 创建数据库连接池 4.3 从连接池中获取一个连接 ...

最新文章

  1. MindSpore技术理解(上)
  2. Linux发行分支时间轴
  3. linux中如何授权限,Linux系统下,为普通用户授权。
  4. Linux内核探讨-- 第二章
  5. Python yield 用法
  6. python 计算最后一个单词的长度
  7. 反射:通过反射获取成员变量并使用
  8. 7.3 数字类型及内置方法
  9. Vue.js的基本使用 学习笔记
  10. gensim中文处理
  11. QML工作笔记-为TestField戴上皮肤
  12. 华为云企业级Redis:助力VMALL打造先进特征平台
  13. 文件超过某个大小就删除(C语言)
  14. 重温WCF之数据契约和序列化(四)
  15. ads s参数拟合_S参数仿真(ADS)
  16. mysql命令行进入报错ERROR 2002 (HY000)
  17. 威feng网站的aes算法破解
  18. FreeSWITCH软电话互打
  19. 推荐适合胖mm大码 连衣裙 显瘦女装穿搭
  20. 保密管理专业是学计算机的吗,计算机保密管理学习学习制度.docx

热门文章

  1. 馈线自动化终端(FTU)
  2. Golang map源码浅析
  3. 记录如何在KVM上手动部署山石vfw
  4. MediaCodec 、x264、faac 实现音视频编码并通过 rtmp 协议实现推流
  5. Mac终端Last login: Fri Aug 6 16:01:33 on ttys000
  6. 在刀尖舞蹈的今日头条,为什么要冒险“催熟”抖音?
  7. 自主可控!搭载龙芯二号,飞凌嵌入式FET-2K0500-C核心板发布
  8. windows之nslookup命令
  9. 2017年Java开发就业前景分析
  10. 国家药监局:强化电子签名应用,助推疫苗生产检验电子化