【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用
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
【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用的更多相关文章
- 【转】【很全很新】C3P0 连接池和 DBUtils 配合事务使用总结
[转]https://blog.csdn.net/guozhaohui628/article/details/84793028 很久没用原生连接池,最近想写个小功能,结果发现很多地方不太懂,然后网上搜 ...
- 为什么要用Jedis连接池+浅谈jedis连接池使用
为什么要使用Jedis连接池 Redis作为缓存数据库理论上和MySQL一样需要客户端和服务端建立起来连接进行相关操作,使用MySQL的时候相信大家都会使用一款开源的连接池,例如C3P0.因为直连会消 ...
- day18(JDBC事务&连接池介绍&DBUtils工具介绍&BaseServlet作用)
day18总结 今日思维导图: 今日内容 事务 连接池 ThreadLocal BaseServlet自定义Servlet父类(只要求会用,不要求会写) DBUtils à commons-dbuti ...
- mysql连接池的使用工具类代码示例
mysql连接池代码工具示例(scala): import java.sql.{Connection,PreparedStatement,ResultSet} import org.apache.co ...
- Mysql数据库重要知识点(知了堂学习心得)
Mysql数据库知识点 1.管理数据库语句: 使用数据库: use test; 添加数据库: create database 数据库名; create database test; 修改数据库: al ...
- C3P0连接池、DBCP连接池
C3P0连接池: 配置文件:c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c ...
- JNDI配置c3p0连接池
JNDI是什么呢? 就是java命名和文件夹接口.是SUN公司提供的一种标准的Java命名系统接口. 不好理解?简单说呢.他就是一个资源,放在tomcat里面的一个资源,今天我们就把数据库连接池放到t ...
- TensorFlow 2.0 深度学习实战 —— 浅谈卷积神经网络 CNN
前言 上一章为大家介绍过深度学习的基础和多层感知机 MLP 的应用,本章开始将深入讲解卷积神经网络的实用场景.卷积神经网络 CNN(Convolutional Neural Networks,Conv ...
- java学习笔记41(数据库连接池 C3p0连接池)
在之前的学习中,我们发现,我们需要频繁的创建连接对象,用完之后还需要在关闭资源,因为这些连接对象都是占资源的,但是又不得不创建,比较繁琐,为了解决这种情况,Java出现了数据库连接池: 数据库连接池的 ...
随机推荐
- .Net 关于 InfoPath 的基本使用
最近几天接触微软的 InfoPath 表单工具,结合VS 使用,遇到的一些问题与解决方法,记录一下,百度上的内容很少,或许我根本不知道咋搜,所有也留一个网页帮助自己使用当然使用的时候碰到了好几个坑: ...
- Android百分比布局成功导入及简单使用
最近学习第一行代码第二版这本书,里面有介绍百分比布局的使用,经过一番摸索,终于是成功导入了百分比布局 就是这样,appcompat是25.3.1,那么百分比布局percent也是25.3.1 这样便是 ...
- Pycharm配置(一)
Pycharm作为一款强力的Python IDE,在使用过程中感觉一直找不到全面完整的参考手册,因此决定对官网的Pycharm教程进行简要翻译,与大家分享. 1.准备工作 官网下载 2.如何选择Pyc ...
- 修改文件系统属性chattr,查看文件系统属性lsattr
chattr chattr +i 文件或目录 , chattr +a 文件或目录,chattr -i 文件或目录,chattr -a 文件或目录,chattr =i 文件或目录,chattr =a 文 ...
- 【CSS3】表格、列表
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- css em单位
本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/41 为什么要有em 为了弹性布局.更准确的说是界面元素根据浏览器 ...
- bzoj 4566: [Haoi2016]找相同字符
Description 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数.两个方案不同当且仅当这两 个子串中有一个位置不同. Input 两行,两个字符串s1,s2,长度分别 ...
- 关于html,css,js三者的加载顺序问题
<head lang="en"> <meta charset="utf-8"> <title></title> ...
- Docker(九):Docker容器卷插件
1.Convoy 1.1 安装 [root@MediaServer tmp]# tar xvf convoy.tar.gz convoy/ convoy/convoy-pdata_tools conv ...
- UWP 在Xaml中使用cu和fcu资源
之前一直不知道这个,最近看微软的WTS项目更新,在Xaml中定义了 xmlns:fcu ="http://schemas.microsoft.com/winfx/2006/xaml/pres ...