JDBC系列教程之十五:数据源和连接池

2013-08-31|来源: 领悟书生

数据源和连接池

l  DataSource用来取代DriverManager来获取Connection;

l  通过DataSource获得Connection速度很快;

l  通过DataSource获得的Connection都是已经被包裹过的(不是驱动原来的连接),他的close方法已经被修改。

l  一般DataSource内部会用一个连接池来缓存Connection,这样可以大幅度提高数据库的访问速度;

l  连接池可以理解成一个能够存放Connection的Collection;

l  我们的程序只和DataSource打交道,不会直接访问连接池;

一个简单的数据源实现(最好参考源代码中的例子)

l  使用代理模式的Connection(核心代码)

        classMyConnection implements Connection{

                  privateConnection realConn;

                  privateLinkedList connPool;

                  MyConnection(ConnectionrConn, LinkedList cPool){

                           this.realConn=rConn;

                           this.connPool=cPool;

                  }

                  publicvoid close(){

                           this.connPool.addLast(this);

                  }

                  //….

        }

l  DataSource(核心代码)

        classMyDataSource implements DataSource{

                  privateLinkedList connPool = new Vector();

                  publicConnection getConneciton (){

                           if(this.connPool.size()>0)

                                    returnthis.connPool.removeFirst(0);

                           returncreateConnection();

                  }

                  privateConnection createConnection(){

                    Connection realConn =DriverManager.getConnection();

                    Connection myConn =

                           newMyConnection(realConn,this.connPool);

                    return myConn;

                  }

                  //….

        }


本文链接:JDBC系列教程之十五:数据源和连接池,转自请注明:http://www.656463.com/article/819

相关问答

更多

Spring 中数据源和JDBC模板到底什么关系,jddc模板中也有属性数据源,怎么

数据源DataSource是数据库操作的基础,保存了数据库的连接配置信息,是Hibernate,MyBatis,JDBCTemplate等一切持久层框架的基础:毕竟只有连接上数据库才能进行JDBC操作。 JDBC模板是Spring自己实现的一套简单的持久层框架(就是操作数据库的框架)。本质上和Hibernate,MyBatis没什么区别。 如上所说,必须有数据源才能操作数据库。从设计上讲,可以说是解耦,模块化,依赖倒置…… 就是将数据源,和其他一切操作数据库的框架独立开来。各自负责自己的一块:数据 ...

druid连接池 SPRING怎样实现配置数据源

spring driud 连接池小例子

spring可以不用连接池吗

spring 可以不用连接池吗,为什么? 当然可以。你首先要明白spring是什么。 我实现计算两个整数的和这样一个需求,是否需要连接池呢?我要连接池干嘛呢? 就算我连了数据库,我完全可以用jdbc连啊,你可以写自己的类。 就算用了连接池组件,往往还可以配置是否是连接池的属性。也就相当于不用连接池,而是每次创建一个新的连接。 你问这个问题,说明你还有弄没有明白spring是什么,多看看书吧,或者到www.itcast.net上看黎活明老是的spring2.5视频教程。

spring可以不用连接池吗

spring 可以不用连接池吗,为什么? 当然可以。你首先要明白spring是什么。 我实现计算两个整数的和这样一个需求,是否需要连接池呢?我要连接池干嘛呢? 就算我连了数据库,我完全可以用jdbc连啊,你可以写自己的类。 就算用了连接池组件,往往还可以配置是否是连接池的属性。也就相当于不用连接池,而是每次创建一个新的连接。 你问这个问题,说明你还有弄没有明白spring是什么,多看看书吧,或者到www.itcast.net上看黎活明老是的spring2.5视频教程。

java数据库连接池详细操作

是自己编的 可以引用 连接池思想就是这个啊 不过你可以下载 已经编好的连接池 上面有API 自己可以按照这个思想 就回用 了; import java.io.FileInputStream; public class ConnectionPool{ private Vector<Connection> pool; private String url; private String username; private String password; private String driverCl ...

专题教程

JAVA概述
第一部分:java入门基础
第二部分:java常用类
第三部分:jdbc系列教程
第四部分:java高级特征
Gson教程
快速了解 jdk8 新特征

相关文章

更多

最近更新

更多