目录

连接池定义

使用统一的规范:javax.sql.DataSource实现统一编程

常用开源连接池:

  • DBCP:tomcat
  • C3P0:hibernate

DBCP:

核心类::核心类BasicDataSource

Demo:

package per.liyue.code.connectionpool;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.junit.Test;
public class DbcpDemo {
@Test
public void Demo1() throws Exception{
/*
* 硬编码形式实现:核心类BasicDataSource
*/
BasicDataSource db = new BasicDataSource();
db.setUrl("jdbc:mysql:///hi"); //数据库连接字符串
db.setDriverClassName("com.mysql.jdbc.Driver"); //驱动
db.setUsername("root"); //用户名
db.setPassword("root"); //密码
db.setInitialSize(3); //初始化连接
db.setMaxActive(6); //最大连接
db.setMaxIdle(3000); //最大空闲时间 Connection conn = db.getConnection();
conn.prepareStatement("show tables").execute();
conn.close(); /*
* 配置文件实现
*/
//加载配置文件
Properties prop = new Properties();
//获取文件信息
InputStream inStream = DbcpDemo.class.getResourceAsStream("mydbcp.properties");
prop.load(inStream);
//根据配置创建数据源对象
DataSource dbProp = BasicDataSourceFactory.createDataSource(prop);
//获取连接
Connection connProp = db.getConnection();
connProp.prepareStatement("show tables").execute();
connProp.close();
//关闭 }
}

C3P0

核心类:ComboPooledDataSource

//...
//硬编码方式:
ComboPooledDataSource dbC3P0 = new ComboPooledDataSource();
// ... /*
* 自动加载src下的xml文件:c3p0-config.xml
*/
ComboPooledDataSource dbC3P0 = new ComboPooledDataSource();

14.连接池.md的更多相关文章

  1. day18 14.连接池介绍

    数据源在软件编程行业有两种概念:一种数据源指的是存储数据的源头(数据库啊文件啊叫数据源),一种指的是连接池(连接池的英文单词叫做DataSource,直译就是数据源).数据源可以指数据库,也可以指连接 ...

  2. jdbc pool java连接池技术

    1 ConnectPool .java: 2 3 package pool; 4 5 /** 6 * Title: ConnectPool.Java 7 * Description: 连接池治理器 8 ...

  3. druid连接池获取不到连接的一种情况

    数据源一开始配置: jdbc.initialSize=1jdbc.minIdle=1jdbc.maxActive=5 程序运行一段时间后,执行查询抛如下异常: exception=org.mybati ...

  4. mysql 最大连接数 & 连接池

    MySQL最大连接数 关于最大连接数:http://mg123.lofter.com/post/1a5f3e_996f838 可以通过修改配置文件(默认/etc/my.cnf)中的"mysq ...

  5. 选择c3p0作为连接池

    <hibernate-configuration>     <session-factory>         <property name="dialect& ...

  6. 解决Tomcat数据连接池无法释放

    近段时间,公司的检测中心报表系统(SMC)的开发人员时不时找到我,说用户老是出现无法登录的情况.前些日子因为手头上 有Jboss集群的测试工作,发现用户不能登录时,都是在Tomcat中将这个项目Rel ...

  7. 使用 TFDConnection 的 pooled 连接池

    从开始看到这个属性,就一直认为他可以提供一个连接池管理功能, 苦于文档资料太少, 甚至在帮助中对该属性的使用都没有任何介绍,如果你搜索百度,也会发现基本没资料. 最后终于在其官方网站看到了其完整相关的 ...

  8. dbcp连接池配置参数

    1.<!-- 数据源1 --> 2. <bean id="dataSource" 3. class="org.apache.commons.dbcp.B ...

  9. get/close not same thread Druid 连接池一个设置

    我就郁闷了,1000W+数据审核每次总是到一半就出这么个错,仔细找找原来是一个配置项的小问题,removeAbandonedTimeout 这个代表你从连接池取出一个连接多少秒之后你还没还回来,那就强 ...

随机推荐

  1. (转)Linux系统-tcpdump常用抓包命令

    序言 单独总结tcpdump抓包的常用命令 主要语法 过滤主机/IP: tcpdump -i eth1 host 172.16.7.206 抓取所有经过网卡1,目的IP为172.16.7.206的网络 ...

  2. css一般性

    1. 总差那么几像素!line-height:100%;2. 数据图片,产品图片用img 小图标,logo,修饰网站的图片 用背景3.文字居中 line-height /text-align:cent ...

  3. servlet为什么会出现?servlet有什么作用?

    在面试中遇到了这个问题,所以想总结一下,所以上网找了一下,主要是网上的一些我觉得比较合理的解释: servlet为什么会出现? Servlet = Service + Applet,表示小服务程序.S ...

  4. 五、html5表单

  5. Guava实现 过滤文本,排序,转换内容,分组计数转换map 等等

    重要点 :看注释 从access.log中统计数据 对healthcheck.html的请求不计入统计 输出请求总量,以及GET和POST分别的总量 输出请求最频繁的10个接口及其次数,按次数降序 输 ...

  6. isNAN的使用方法及介绍

    NaN为 Not a Number isNaN()函数在接到一个值后,会尝试将这个值转换为数值. alert(isNaN(NaN)); //true alert(isNaN(25)); //false ...

  7. Docker使用札记 - 使用中遇到的问题总结

    1. 启动容器时报错误“: No such file or directory” 一般来说作为容器应用的入口都是entrypoint.sh文件,也就是Dockerfile最后一条指令为是: ENTRY ...

  8. Oracle表中添加外键约束

    添加主键约束: ALTER TABLE GA_AIRLINE ADD CONSTRAINT PK_AIRLINE_ID PRIMARY KEY(AIRLINE_ID); 有三种形式的外键约束: 1.普 ...

  9. vue生命周期理解图

    ............................... 它可以总共分为8个阶段: beforeCreate(创建前), created(创建后), beforeMount(载入前), moun ...

  10. iPhone 获取指定格式的时间和日期

    1.  显示当前的年月日+时间 NSDate* date = [NSDate date]; NSDateFormatter* formatter = [[[NSDateFormatter alloc] ...