数据源和数据库连接池

  Java中的数据源就是javax.sql.DataSource。DataSource的创建可以有不同的实现。DataSource 通常被称为数据源,它包含连接池和连接池管理两个部分,习惯上也经常把 DataSource 称为连接池。

  JNDI方式创建DataSource:  (Java Naming and Directory Interface,Java命名和目录接口)。首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml文件中配置。

  

连接池基本的思想,原理:

  在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。

数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。

连接池通俗理解:  

  数据库连接池就是准备一个池子,里面放着很多生成好的Connection,用户请求获得连接,就不需要getConnection,只要从池子里拿一个给他就行了,这样省掉了生成Connection的时间,效率上会有很大提高,不过当然会占用一些内存~稍微大点网站都会用到数据库连接池的~

数据库连接池技术的优点:

资源重用

更快的系统反应速度

新的资源分配手段

统一的连接管理,避免数据库连接泄露

开源的数据库连接池 C3P0 DBCP Proxool XAPool 等

  以C3p0获得数据源为例:

 @Test public void testC3P0() throws Exception{
        ComboPooledDataSource cpds = new ComboPooledDataSource();
        cpds.setDriverClass( "com.mysql.jdbc.Driver" ); //loads the jdbc driver
        cpds.setJdbcUrl( "jdbc:mysql:///atguigu" );
        cpds.setUser("root");
        cpds.setPassword("1230");   

        System.out.println(cpds.getConnection());
    }

  

时间: 2024-10-13 02:46:22

数据源和数据库连接池的相关文章

JDBC数据源和连接池

数据库连接池就是在应用程序启动时就创建足够多的数据库连接池,在java程序中需要访问 数据库时就可以通过数据源取得一个空闲连接,用完在返还到连接池中 实例: 在Tomcat6.0中+MySQL5.5数据源和连接池的配置 (1)将数据库的JDBC驱动程序复制到<CATALINA_HOME>/common/lib目录下 (2)在<CATALINA_HOME>/conf/server.xml中配置数据源和连接池,例如 <Context path="/JSP_JDBC&qu

数据源和连接池介绍

为什么使用数据源和连接池 我们现在开发的应用程序,基本上都是基于数据的,而且是需要频繁的连接数据库的.如果每次操作都连接数据库,然后关闭,这样做性能一定会受限.所以,我们一定要想办法复用数据库的连接.因此针对这种情况,提出了数据源和连接池的概念.使用数据源和连接池可以达到复用数据库连接的目的. 数据源和连接池概念 其实,数据源和连接池是两个不同的概念.有些人会把它们弄混. 数据源是用来连接数据库 获得Connection对象的,在Java中使用javax.sql.DataSource接口来表示.

数据源和连接池

数据源 从接触DBMS开始就在用数据源(DataSource),它其中很重要的一个作用就是可以管理Connection,管理的方式也就是经常听到的ConnectionPool.它的管理其实就是对DriverManager获取Connection进行了包装. 下面就首先看看用DataSource来取代DriverManager来获取Connection的好处: 一般DataSource内部会用一个连接池来缓存Connection,这样获得Connection速度很快,可以大幅度提高数据库的访问速度

Tomcat中配置数据源和连接池

(1)为什么需要配置数据源和连接池? 我们知道在每次java程序俩接数据库的时候我们都需要请求连接数据库然后打开读取数据然后关闭, 这样使得每一个用户访问的时候都需要服务器做出相应,这样的话服务器端承受巨大的压力,如此效率就会下降, 为了解决这个问题我们可以让数据库提前打开连接等待用户连接当有用户连接的时候,就把数据库已存在的连接 给用户即可 而我们就把这条连接叫做"连接池"  当连接池中的连接足够的话 就分给用户,如果不够用户则在"|队列池"中等待: (2)实现过

Tomcat中设置数据源和连接池

对于大型网站来说,信息查询的次数会非常多,每次查询都需要这样的过程:加载驱动程序.创建连接.创建语句对象.执行SQL语句.关闭这些对象.这样使得每一个用户访问的时候都需要服务器做出相应,这样的话服务器端承受巨大的压力,如此效率就会下降,建立与数据库之间的连接和释放连接会占用很多系统的时间.如果能够让所有用户共享连接,仅仅创建一次连接,谁需要连接谁就使用,这样可以大大减少创建连接所占用的时间.让所有用户共享连接,并且在需要的时候就能够使用,就需要有专门的机制来创建连接,数据库连接池(Dababas

【数据库学习笔记】(4)JDBC数据源和连接池

JDBC五数据源和数据池(web基础学习笔记十一)

一.为什么使用数据源和连接池 现在开发的应用程序,基本上都是基于数据的,而且是需要频繁的连接数据库的.如果每次操作都连接数据库,然后关闭,这样做性能一定会受限.所以,我们一定要想办法复用数据库的连接.因此针对这种情况,提出了数据源和连接池的概念.使用数据源和连接池可以达到复用数据库连接的目的. 二.数据源和连接池概念 其实,数据源和连接池是两个不同的概念.有些人会把它们弄混.数据源是用来连接数据库,获得Connection 对象的,在Java 中使用javax.sql.DataSource接口来

java攻城狮之路--复习JDBC(数据库连接池 : C3P0、DBCP)

复习数据库连接池 : C3P0.DBCP 1.数据库连接池技术的优点: •资源重用: 由于数据库连接得以重用,避免了频繁创建,释放连接引起的大量性能开销.在减少系统消耗的基础上,另一方面也增加了系统运行环境的平稳性. •更快的系统反应速度: 数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于连接池中备用.此时连接的初始化工作均已完成.对于业务请求处理而言,直接利用现有可用连接,避免了数据库连接初始化和释放过程的时间开销,从而减少了系统的响应时间. •新的资源分配手段: 对于多应用共享同

Java -- JDBC 学习--数据库连接池

JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet.beans)中建立数据库连接. 进行sql操作 断开数据库连接. 这种模式开发,存在的问题: 普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s-1s的时间).需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接.这样的方式将会消耗大量的资源和