目录

连接池定义

使用统一的规范: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. 2-自己动手写HashMap

    public class Entry { // 键 private Object key; // 值 private Object value; //构造器 public Entry(Object k ...

  2. Windows NAT端口映射

    由于有需求进行端口映射,又不想装乱七八糟的软件,Windows本身自带的路由远程访问配置太麻烦,还要两块网卡,坑爹啊. 其实Windows本身命令行支持配置端口映射,条件是已经安装了IPV6,启不启用 ...

  3. 把自己的代码发布到npm(npm publish)

    写了代码如何发布到npm包? 示例 demo1 demo2 1.注册npm账号 在npm官网注册https://www.npmjs.com/注意邮箱要验证,会发送验证链接到你的注册邮箱,没有验证的话是 ...

  4. Python笔记:Python中is和==的区别

    ==是比较两端的值 is是比较内存地址: 数据的内存地址可用id()获取 在Python中为了存储数据占用较小的内存,对于int类型和str类型内设了小数据池,其中的数据在被使用时,会使用同一内存地址 ...

  5. day3----编码-集合-深浅copy-文件操作-函数初识

    本文档主要内容: 一 编码 二 集合 三 深浅copy 四 文件操作 五 函数初识 首先,我们来看看两个字符串的比较 打开cmd,进入dos界面 >>>a='xingchen@' & ...

  6. 自写-自动拨号测试app

    XML - Main <?xml version="1.0" encoding="utf-8"?> <android.support.cons ...

  7. JSP 调用java 常量 枚举

    JAVA:public enum ReimStatus { UNCONFIRMED ("118001"), //未确认 DISPATCH_VERIFY("118002&q ...

  8. Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息

    </pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...

  9. CentOS之——CentOS7安装iptables防火墙

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/50779761 CentOS7默认的防火墙不是iptables,而是firewall ...

  10. spark 常用技巧总结

    解析url scala> import java.net.URLimport java.net.URL scala> val urlstr="http://www.baidu.c ...