1. C3P0概述

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

2. C3P0工具包下载地址

https://sourceforge.net/projects/c3p0/files/latest/download?source=files

导入jdbc和c3p0的jar包

jdbc包:mysql-connector-java-5.1.24-bin.jar

c3p0包:c3p0-0.9.5.2-sources.jar

C3p0辅助包:mchange-commons-java-0.2.11.jar

3. C3P0配置

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>

<!--配置连接池mysql-->
<named-config name="c3p0-config">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/music_sys</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 初始化连接池时建立多少个连接 -->
<property name="initialPoolSize">5</property>
<!-- 最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。 -->
<property name="maxIdleTime">60</property>
<!-- 连接池中保留的最大连接数 -->
<property name="maxPoolSize">10</property>
<!-- 连接池中保留的最小连接数 -->
<property name="minPoolSize">5</property>
<!-- 最大连接数 -->
<property name="maxStatements">20</property>
</named-config>

</c3p0-config>

4. 创建C3p0Utils工具类

5. DBUtils工具类库的使用

DBUtils包下载地址:http://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi

1)导包:commons-dbutils.jar

2)核心类:QueryRunner

3)常用方法:

4)ResultSetHandler接口的实现类

单行结果: BeanHandler(), 构造器需要一个 Class 类型的参数, 用来把一行结果转换成指定类型的 javaBean 对象;

多行结果: BeanListHandler(), 构造器需要一个 Class 类型的参数, 用来把一行结果转换成一个 javaBean,若是多行结果, 就转换成 List 对象, 即多个 javaBean;

单行结果: MapHandler(), 把一行结果转换成 Map;

多行结果: MapListHandler(), 把一行记录转换成一个 Map, 若是多行, 就是多个 Map, 即 List;

单行单列: ScalarHandler(), 结果集是单行单列的, 返回一个 Object.

6.QueryRunner中的连接关闭问题

传入Connection时,需要手动关闭连接

如:操作多条SQL语句时,就必须手动获取连接和关闭连接(事务管理)

传入DataSource时,连接会自动关闭

如:操作一条SQL语句时使用

温馨提示:如需了解更多Java学习知识,请前往知了堂学习社区

www.zhiliaotang.com

转载于:https://www.cnblogs.com/yangyangfubin/p/8284119.html

【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用相关推荐

  1. 浅谈各种连接池中连接数量的设置

    连接池中连接数量的配置 我们日常开发中经常会用到各种连接池,比如httpclient和jediscluster以及druid等数据库连接池,当使用这些连接池的时候我们总是很疑惑到底要怎么配置连接池中连 ...

  2. java ftp封装_使用FTP连接池封装Java工具类

    使用FTP连接池封装工具类 背景 早前的思路是将FTP连接的管理(对象池功能)与FTP工具类(上传下载方法)在一个工程中实现,在工具类中调用是模板类提供的模板方法, 由模板方法与对象池打交道--初始时 ...

  3. 深度学习之浅谈全连接层

    参考:https://www.zhihu.com/question/41037974 全连接层 全连接层(fully connected layers,FC)在整个卷积神经网络中起到"分类器 ...

  4. 【知了堂学习笔记】数据库连接池简介,以及Eclipse中C3p0连接池的简单运用

    1.普通的JDBC连接数据库的弊端 普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0 ...

  5. .net mysql和php mysql数据库连接_浅谈PHP连接MySQL数据库的三种方式

    本篇文章给大家介绍一下PHP连接MySQL数据库的三种方式(mysql.mysqli.pdo),结合实例形式分析了PHP基于mysql.mysqli.pdo三种方式连接MySQL数据库的相关操作技巧与 ...

  6. 【知了堂学习笔记】_Java笔试题整理(二)

    请关注"知了堂学习社区",地址:http://www.zhiliaotang.com/portal.php 1.请大概描述一下Vector和ArrayList的区别,Hashtab ...

  7. 【知了堂学习笔记】java 自定义异常

    [知了堂学习笔记]java 自定义异常 参考文章: (1)[知了堂学习笔记]java 自定义异常 (2)https://www.cnblogs.com/pipixiao/p/7419902.html ...

  8. [知了堂学习笔记]根据银行卡号匹配银行卡类型

    银行卡类型匹配代码 原理:通过银行卡前6或前8位对银行卡类型进行匹配,返回对应的银行类型 代码: package com.finalcial.util;/*** 通过银行的Bin号 来获取 银行名称 ...

  9. [知了堂学习笔记]_Java中线程的学习(一)

    请关注"知了堂学习社区",地址:http://www.zhiliaotang.com/portal.php 线程 1.线程的概念 线程,有时被称为轻量级进程(Lightweight ...

  10. [知了堂学习笔记]_设计模式之工厂模式

    介绍: 工厂模式专门负责将大量有共同接口的类实例化.工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类. 形态: 简单工厂(Simple Factory)模式,又称静态工厂方法模式 ...

最新文章

  1. PhoenixGo战胜绝艺,腾讯包揽AI围棋大赛前两名
  2. 工作随笔——Intellij_idea-14官方快捷键中文版
  3. 【最后一天倒计时】你离¥399网易黑猪肉券就差一步
  4. 面对面快传文件服务器恢复,QQ 面对面快传的传应用功能,如何找到已安装应用的安装包?...
  5. 移动硬盘提示无法访问设备硬件出现致命错误,导致请求失败的资料寻回方案
  6. 较Win7企业更愿用Win10?原因就在这里
  7. Linux工作笔记-查看tcp与udp端口并对比Windows简单分析
  8. yolo 负样本_SSD——样本正负比控制+多尺度检测 (目标检测)(one-stage)(深度学习)(ECCV 2016)...
  9. SO_REUSEADDR 套接字选项应用实例
  10. FANUC NC GUIDE PRO 17.1虚拟机(XP系统)
  11. Delphi Xe Web开发之 unigui入门视频教程
  12. 深入理解Web Components
  13. 适合笔记本电脑看Kindle MOBI 电子书的软件
  14. 自考《软件工程》总结笔记
  15. 智慧城市将成为推进我国新型城镇化的新思路、新手段、新模式
  16. java add用法
  17. 7-3 求分数序列前N项和 (15分)
  18. 基于Python热点新闻关键词数据分析系统
  19. EXCEL设置自动隔行填充颜色
  20. ubuntu折腾笔记【三】

热门文章

  1. 计算机视觉 图像合成_合成数据如何促进计算机视觉
  2. 预测自适应滤波_使用自适应滤波的时间序列预测
  3. 学习遗忘曲线_级联相关,被遗忘的学习架构
  4. 如何识别媒体偏见_面部识别,种族偏见和非洲执法
  5. h5py group_人工智能驱动的零售:H&M Group如何做到
  6. 修改服务器监听端口命令,如何更改prometheus监控系统启动的默认端口号
  7. 称重仪表显示ol怎么解决_电脑显示器无信号怎么解决呢?
  8. java xstream json_详解XML,Object,Json转换与Xstream的使用
  9. centos7查看mysql日志_centos 7 mysql启动失败–学会看错误日志
  10. linux htdocs目录下,ubuntu解决htdocs目录的权限问题