【JAVA】JAVA数据源

前言

我们在进行数据访问,声明模板和repository之前【JAVA】Spring对JDBC的支持,都需要配置数据源用来连接数据库。数据源又可以分为两大类:直连的数据源连接池的数据源 ,其中连接池的数据源又有多种,接下来就让我们来学习一下这两种数据源。当然在学习之前,我们首先需要知道连接池数据源JNDI是什么,分别从当什么角色,有什么作用。

连接池、数据源、JNDI

连接池、数据源

Java中的数据源就是连接到数据库的一条路径,数据源中并无真正的数据,它仅仅记录的是你连接到哪个数据库,以及如何连接DataSource的创建可以有不同的实现。DataSource通常被称为数据源,它包含连接池连接池管理 两部分,习惯上也经常把DataSource称为连接池。

连接池思想

在系统初始化的时候,将数据库连接对象(Connection) 存储在内存中,当用户需要访问数据库时候,并不是建立一个新的连接,而是从连接池中取出一个已经建立好的空闲连接对象。而连接池负责分配、管理、释放数据库连接对象。注意的是:连接池是由容器(比如tomcat) 提供的,同时容器也管理着连接池。

JNDI

JNDI(Java Naming and Directory Interface,Java命名和目录接口),JNDI是Java平台的一个标准扩展,提供一组接口、类和关于命名空间的概念。其功能通俗的来说,就是提供一个类似全局的map,key保存JNDI的名称,value保存你要放到里面的资源的引用(如Java对象),以后要想要获取value的资源即可通过lookup名称检索
注意:需要区分开JNDI和通过JNDI查找的数据源的概念,不能将JNDI和连接池混为一谈。

  • 这套API的主要作用在于:它可以将Java对象放在一个容器中(支持JNDI的容器例如Tomcat),并且为容器中的Java对象取一个名称,以后程序想要获得Java对象,只要通过名称检索即可。
  • 其核心API为Context,它代表JNDI容器,其lookup方法为检索容器中对应名称的对象。

使用JNDI访问Tomcat内置连接池

  • 将数据库驱动的包复制到Tomcat的安装目录/lib/中,这样Tomcat服务器才能找到数据库驱动
  • 编写访问JNDI程序,运行在Tomcat内部,所以通常运行在servlet、jsp中
  • 在Tomcat启动时,自动加载配置文件(context.xml),创建数据库连接池,该连接池由Tomcat管理。
    在这里插入图片描述

直连的数据源

用户每次请求都需要向数据库获得连接,而数据库创建连接通常需要消耗相对较大的资源,创建的时间也较长。
在这里插入图片描述

连接池的数据源

连接池的思想

数据库连接是一种关键的有限的昂贵的资源,如果每次访问数据库的时候,都需要进行数据库连接&#x

  • 20
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值