dbcp写连接池 Demo

1、导包

2、准备配置文件   .properties(注:这里的参数名driverClassName、url、username等是不能改变的)

        不能任意命名的原因是【你懂得】

        

3、Demo

 1 public static DataSource ds;//变量
 2     public TestBasicDataSource() {}    //私有化构造函数
 3     static{
 4         try{
 5         Properties p=new Properties();
 6         p.load(TestBasicDataSource.class.getClassLoader().getResourceAsStream("pro.properties"));//读取配置文件(TestBasicDataSource为所在类)
 7         ds=new BasicDataSourceFactory().createDataSource(p);//获取DataSource
 8         }
 9         catch (Exception e){}
10     }
11
12     public static Connection getConn()
13     {
14         Connection conn=null;
15         try {
16             conn= ds.getConnection();//获取连接
17         } catch (SQLException e) {
18             e.printStackTrace();
19         }
20
21         return conn;
22     }
23
24     public static DataSource GetDataSource()
25     {
26         return ds;//返回DataSource
27     }

注意:需要手动还连接,如果不设置最大连接数,默认为最大

时间: 2024-10-19 22:00:30

dbcp写连接池 Demo的相关文章

c3p0写连接池 Demo

1.导包 2.配置文件:名称必须为:c3p0-config.xml,且必须放在src根目录下 1 <c3p0-config> 2 <!-- 默认配置,有且仅可出现一次 ,如果没有指定则使用这个配置 --> 3 <default-config> 4 <!-- 连接超时时间 30秒 --> 5 <property name="checkoutTimeout">30000</property> 6 <!-- 每30

DBCP数据源连接池实现原理分析

前些天在调试公司系统的时候发现这样的一个问题:mysql数据库服务停止一段时间后再次重启后吗,tomcat服务无法请求数据库服务,调试了半天对这个问题进行定位解决,期间也搞了很多有关mysql数据库的知识,包括数据库连接池的问题,以前没有遇到问题的时候只知道数据库连接池这个概念和如何配置,但是当遇到问题的时候就要去看怎么实现了,比如很简单的默认的数据库连接池的个数是多少呢,我相信没有看过源代码的是不知道的,答案是8.下面就针对最近学习的org.apache.commons.dbcp.BasicD

手写连接池

4.连接池_手写连接池_动态代理 二.数据库连接池 很多很多的连接 放进一个池子里用集合来存取这些连接 手写连接池: 改造conn的close方法 1.继承 2.装饰 3.动态代理 package com.itheima.pool; import java.io.PrintWriter; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Pro

动态代理写connection连接池Demo

1 public class JdbcUtil2 { 2 //声明连接池<放到LinkedList中,操作其中对象的速度快 只需要改变连接> 3 private static LinkedList<Connection> connectionspool=new LinkedList<Connection>(); 4 //静态代码块 5 static{ 6 try { 7 String url="jdbc:mysql://localhost:3306/jdbcd

Java 使用 DBCP mysql 连接池 做数据库操作

需要的jar包有 commons-dbutils , commons-dbcp , commons-pool , mysql-connector-java 本地database.propertties 配置为 driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://localhost/mydatabase?useUnicode=true&characterEncoding=GBK username=root password=*** 该文件创建在sr

记录一个简单的dbcp数据连接池

这个示例用到了ThreadLocal与dbcp,我觉得有点意思,就整理了下.使用dbcp,肯定要导入commons-dbcp.jar包.下面直接贴DBUtil代码: public class DBUtil { private static DataSource ds; //定义一个数据连接池 //threadLocal是线程的局部变量,它的实例通常是类中的 private static 字段 private static ThreadLocal<Connection> connLocal=ne

dbcp,c3p0连接池

<!-- 配置dbcp数据源 --> <bean id="dataSource2" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <pr

DBCP、c3p0、Druid三大连接池区别

DBCP.c3p0.Druid三大连接池区别 一.连接池优势 如果一个项目中如果需要多个连接,如果一直获取连接,断开连接,这样比较浪费资源: 如果创建一个池,用池来管理Connection,这样就可以重复使用Connection. 有了池我们就不用自己来创建Connection,而是通过池来获取Connection对象.当使用完Connection后,调用Connection的close()方法也不会真的关闭Connection,而是把Connection"归还"给池. 池就可以再利用

手写数据库连接池

  1.  相信很多人看这篇文章已经知道连接池是用来干什么的?没错,数据库连接池就是为数据库连接建立一个"缓冲池",预先在"缓冲池"中放入一定数量的连接欸,当需要建立数据库连接时,从"缓冲池"中取出一个,使用完毕后再放进去.这样的好处是,可以避免频繁的进行数据库连接占用很多的系统资源.      2.  常见的数据库连接池有:dbcp,c3p0,阿里的Druid.好了,闲话不多说,本篇文章旨在加深大家对连接池的理解.这里我选用的数据库是mysql