数据库连接池

    池参数(所有池参数都有默认值):
初始大小:
最小空闲连接数:
增量:一次创建的最小单位(5个)
最大空闲连接数:12个
最大连接数:20个
最大的等待时间:1000毫秒 四大连接参数:
连接池也是使用4大连接参数来完成连接的创建连接对象 实现的接口:
连接池必须实现:javax.sql.DataSource接口 连接池返回的Connection对象,它的close方法与众不同,调用它的close不是关闭而是将连接归还给池

需要jar:

  

package cn.itcast.jdbc;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException; import org.apache.commons.dbcp.BasicDataSource;
import org.junit.Test; /**
* DBCP连接池
* @author Administrator
*
*/
/*
接口 DataSource
DataSource 接口由驱动程序供应商实现。共有三种类型的实现:
基本实现 - 生成标准的 Connection 对象
连接池实现 - 生成自动参与连接池的 Connection 对象。此实现与中间层连接池管理器一起使用。
分布式事务实现 - 生成一个 Connection 对象,该对象可用于分布式事务,大多数情况下总是参与连接池。此实现与中间层事务管理器一起使用,大多数情况下总是与连接池管理器一起使用。
Connection getConnection()
尝试建立与此 DataSource 对象所表示的数据源的连接。
Connection getConnection(String username, String password)
尝试建立与此 DataSource 对象所表示的数据源的连接。 */
public class Demo1 { @Test
public void fun1() throws SQLException{
/*
* 1、创建连接池对象
* 2、配置4大参数
* 3、配置池参数
* 4、得到连接对象
*/ BasicDataSource dataSource=new BasicDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/demo");
dataSource.setUsername("guodaxia");
dataSource.setPassword("961012gz"); dataSource.setMaxActive();
dataSource.setMinIdle();
dataSource.setMaxWait(); Connection con=dataSource.getConnection();
Connection con1=new MyConnection(con);
System.out.println(con1.getClass().getName());
//org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper 装饰者模式 /**
* 连接池内部使用四大参数创建了连接对象,即mysql驱动提供的Connection
* 连接池使用mysql的连接对象进行了装饰,只对close方法进行了增强
* 装饰之后的Connection的close方法用来把当前连接归还给池
*/
con1.close();//把连接归还给池
}
}

最新文章

  1. 161228、Java IO流读写文件的几个注意点
  2. 史上最全的常用iOS的第三方框架
  3. nginx模块开发(31)—定时器模型
  4. 静态化 - 伪静态技术(Apache Rewrite 实现)
  5. PHP ckeditor富文本编辑器 结合ckfinder实现图片上传功能
  6. 《JS权威指南学习总结--第7章 数组》
  7. Android编译,模块的编译和CLEAN
  8. AFNetWorking 之 网络请求的基本知识
  9. Libcurl细说
  10. 201521123107 《Java程序设计》第7周学习总结
  11. Python模糊查询本地文件夹去除文件后缀(7行代码)
  12. mysql主从同步+mycat读写分离+.NET程序连接mycat代理
  13. Centos7搭建虚拟用户FTP
  14. C语言多线程的一个简单例子
  15. urllib2 post请求方式,带cookie,添加请求头
  16. Entity Framework应用:使用EF的DataBase First模式实现数据库的增删改查
  17. 20145322 Exp5 Adobe阅读器漏洞攻击
  18. 关于设置服务器为https服务器
  19. java之静态代理与动态代理
  20. xtrabackup备份方式搭建一个mysql slave

热门文章

  1. mssql 中文乱码 字库集 问题解决方法
  2. 47求1+2+3+...+n
  3. python cookboo 文件与IO 函数
  4. nginx安装使用
  5. Linux文件系统管理 常见命令df、du、fsck、dumpe2fs
  6. imx6q Xorg下Qt应用开机自启动及添加桌面快捷启动图标的方法
  7. 恢复性训练day1
  8. INSPIRED启示录 读书笔记 - 前言
  9. word导出失败问题
  10. different between web api and web service