`
youfengkai
  • 浏览: 25836 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

连接池和数据源的概念

阅读更多
    数据库连接池的解决方案是在应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由应用程序动态地对池中的连接进行申请、使用和释放。对于多于连接池中连接数的并发请求,应在请求队列中排队等待。并且应用程序可根据池中连接的使用率,动态增加或减少池中的连接数。
    连接池技术尽可能多地重用了消耗内存的资源,大大节省了内存,提高了服务器的服务效率,能够支持更多的客户服务。通过使用连接池,将大大提高程序运行效率,同时,我们可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。
    JDBC 3.0规范中提供了一个支持数据库连接池的框架。这个框架仅仅规定了如何支持连接池的实现,而对于连接池的具体实现,JDBC 3.0规范并没有做相关的规定。通过这个框架可以让不同角色的开发人员共同实现数据库连接池。
JDBC 3.0规范规定了如下的类和接口来支持数据库连接池的实现。
    javax.sql.ConnectionEvent连接事件。
    javax.sql.ConnectionPoolDataSource连接池数据源。
    javax.sql.PooledConnection被池化的连接。
    javax.sql.ConnectionEventListener连接事件监听接口。
    DataSource接口代表了数据源,它一般由数据库驱动程序厂商实现。通过这个接口来获得一个连接,我们来看一下它的主要方法。
    getConnection()获得一个Connection物件。
    getConnection(String username, String password)获得一个Connection物件。
    getLogWriter()从DataSource获得LogWriter对象,它是PrintWriter的实例。
    setLogWriter(PrintWriter out)设置DataSource的LogWriter。
    getLoginTimeout()获得DataSource尝试连接数据库的最大时间。
    setLoginTimeout(int seconds)设置DataSource尝试连接数据库的最大时间。通常,我们把数据源绑定到JDNI名称空间,然后在编程中查询这个数据源。
    例程16-1  使用数据源
     …
   //建立上下文
    try
    {
         Context context=new InitialContext();
         DataSource dataSource=(DataSoruce)context.lookup("jdbc/DemoDataSource");
    }
    catch(NamingException e)
    {
          //处理错误
    }

    …   
    有了这个数据源实例,就可以获得一个连接。通过以下方法获得连接:
    Connection con = ds.getConnection("User", "Pwd");
    Connection con = ds.getConnection();


    在开发中,我们可以自己开发连接池实现,但是在更多的情况下可以使用应用服务器提供的连接管理服务,只需要在应用服务器中做适当的配置就可以使用连接池了。
   
分享到:
评论

相关推荐

    数据源和连接池介绍.pdf

    为什么使用连接池 数据源和连接池的概念 配置Tomcat

    JDBC专题(七)-数据库连接池 DataSource Pool.docx

    数据库连接池的基本概念 3.自定义数据连接池 4.开源数据库连接池(第三方企业中使用的连接池) 4.1.DBCP数据源 4.2.C3P0连接池 4.3.Druid连接池 4.3.1.druid连接池的使用 1.应用程序直接获取数据库...

    druid连接池的jar包

    Druid在数据摄入之前,首先要定义一个数据源(DataSource,类似于数据库中表的概念),Druid是一个分布式数据分析平台,也是一个时序数据库,也是一个集群系统,使用zookeeper做节点管理和事件监控。 Druid是一个专为...

    JDBC数据库编程实验

    一、实验目的: ...(5)理解数据库连接池的基本原理和思想,学会在tomcat服务器中配置数据库连接池,并掌握从连接池中获取连接的基本方法。 (6)初步理解数据访问层的基本设计方法,理解web的分层架构。

    JDBC 3.0数据库开发与设计

    4.7.1 连接池数据源(Connection PoolDataSource) 4.7.2 连接池处理事件 4.7.3 三层环境下的连接池操作 4.7.4 连接池和DataSource实现 4.7.5 包含连接池的数据源配置 4.7.6 池连接对象对于语句的重新利用 ...

    jdbc 编程操作数据库java 程序连接

    JDBC的概念 连接数据库的几种方式 JAVA编程语言和JDBC JDBC编程的步骤 通过ODBC建立连接 通过SQLSERVER 提供的驱动程序获得连接 ... 通过数据源获得连接 通过连接池获得连接 总结数据库连接的各种方式

    V512工作室Java web的ppt

    第5章 讲解了JDBC的使用和如何在Tomcat服务器中设置连接池和数据源。还详细讲解了Apache Commons DbUtils组件的使用。 第6章 讲解Cookie技术的如何在Web编程中的运用,以及如何在Servlet中编写操作Cookie的代码。 第...

    (jsp源码)轻松商城

    数据的存储和持久化由 HIENATER持久层实现,数据库采用MYSQL,数据源采用数据源连接池机制,整个系统完全贯穿JAVA面向对象的概念,全面完整地实现了JAVA的 封装性,继承性,多态性的三大特征,完全按照J2EE企业级网络...

    商城之家jsp网店系统

    据源连接池机制,整个系统完全贯穿JAVA面向对象的概念,全面完整地实现了JAVA的封装性 ,继承性,多态性的三大特征,完全按照J2EE企业级网络应用程序的开发方案设计和开发, 所有的繁重的计算和处理都由服务器端处理...

    Spring Data JPA 原理与实战2021年

    │ 18 生产环境多数据源的处理方法有哪些?.mp4 │ 19 如何搞清楚事务、连接池的关系?正确配置是怎样的?.mp4 │ 20 Spring JPA 中的 Hibernate 加载过程与配置项是怎么回事?.mp4 │ 21 Peritence Context 所...

    23-Listener-源代码.rar

    案例-使用监听器完成定时生日祝福、,...a、初始化的工作:初始化对象 初始化数据 ---- 加载数据库驱动 连接池的初始 化 b、加载一些初始化的配置文件 --- spring的配置文件 c、任务调度----定时器----Timer/TimerTask

    ASP.NET3.5从入门到精通

    7.11 连接池概述 7.12 参数化查询 7.13 小结 第 8 章 Web 窗体的数据控件 8.1 数据源控件 8.1.1 SQL 数据源控件(SqlDataSource) 8.1.2 Access 数据源控件(AccessDataSource) 8.1.3 目标数据源控件...

    商城之家JSP商城基于jsp+mysql开发

    据源连接池机制,整个系统完全贯穿JAVA面向对象的概念,全面完整地实现了JAVA的封装性 ,继承性,多态性的三大特征,完全按照J2EE企业级网络应用程序的开发方案设计和开发, 所有的繁重的计算和处理都由服务器端处理...

    JSP商城之家商城企业版

    据源连接池机制,整个系统完全贯穿JAVA面向对象的概念,全面完整地实现了JAVA的封装性 ,继承性,多态性的三大特征,完全按照J2EE企业级网络应用程序的开发方案设计和开发, 所有的繁重的计算和处理都由服务器端处理...

    Java数据编程指南

    JDBC 2.0可选包 简介 DataSource与JNDI 连接池 RowSet 分布式事务与Optional Package 小结 第8章 SQLJ 简介 什么是SQLJ 准备开始 使用SQLJ SQLJ定制 小结 第9章 数据库...

    ASP.NET 3.5 开发大全11-15

    7.11 连接池概述 7.12 参数化查询 7.13 小结 第8章 Web窗体的数据控件 8.1 数据源控件 8.1.1 SQL数据源控件(SqlDataSource) 8.1.2 Access数据源控件(AccessDataSource) 8.1.3 目标数据源控件(ObjectDataSource...

    ASP.NET 3.5 开发大全

    7.11 连接池概述 7.12 参数化查询 7.13 小结 第8章 Web窗体的数据控件 8.1 数据源控件 8.1.1 SQL数据源控件(SqlDataSource) 8.1.2 Access数据源控件(AccessDataSource) 8.1.3 目标数据源控件(ObjectDataSource...

    ASP.NET 3.5 开发大全1-5

    7.11 连接池概述 7.12 参数化查询 7.13 小结 第8章 Web窗体的数据控件 8.1 数据源控件 8.1.1 SQL数据源控件(SqlDataSource) 8.1.2 Access数据源控件(AccessDataSource) 8.1.3 目标数据源控件(ObjectDataSource...

    ASP.NET 3.5 开发大全word课件

    7.11 连接池概述 7.12 参数化查询 7.13 小结 第8章 Web窗体的数据控件 8.1 数据源控件 8.1.1 SQL数据源控件(SqlDataSource) 8.1.2 Access数据源控件(AccessDataSource) 8.1.3 目标数据源控件(ObjectDataSource...

    ASPNET35开发大全第一章

    7.11 连接池概述 7.12 参数化查询 7.13 小结 第8章 Web窗体的数据控件 8.1 数据源控件 8.1.1 SQL数据源控件(SqlDataSource) 8.1.2 Access数据源控件(AccessDataSource) 8.1.3 目标数据源控件(ObjectDataSource...

Global site tag (gtag.js) - Google Analytics