JDBC
看到最多的就是,Java Database Connectivity (JDBC)是一个标准的Java API,它由一组类和接口组成,Java应用程序开发人员使用它来访问数据库和执行SQL语句。

通俗的讲就是JDBC用来连接数据库和执行SQL语句,但是它最大的特点是通过java程序去找数据库驱动,然后来连接数据库。是java亲自去连数据库。

JNDI
JNDI(Java Name Directory Interface,Java命名和目录接口),它不仅仅是进行数据库定位的,它是给当前应用服务器所管理的所有资源一个唯一的标识,包括数据库,网页,文件,连接池等等。

JNDI提供了一种统一的方式,可以用在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个记录,同时返回数据库连接建立所必须的信息。

JNDI主要有两部分组成:应用程序编程接口和服务供应商接口。应用程序编程接口提供了Java应用程序访问各种命名和目录服务的功能,服务供应商接口提供了任意一种服务的供应商使用的功能。
例:

try{Context cntxt = new InitialContext();DataSource ds = (DataSource) cntxt.lookup("jdbc/dpt");
}catch(NamingException ne){...
}

通俗的讲,JNDI不单单是用来连接数据库的,它是通过命名服务来找到数据库并返回数据库连接,当然JNDI还可以管理当前应用服务器上的其他资源,如网页,文件等,它用来连接数据库时和JDBC最大的区别就是它是通过应用服务器配置(如Tomcat)的配置文件context.xml来找数据库驱动的,其次就是JDBC连接能承受的同时请求数太低了,JNDI连接池连接与之相比会好很多。

总结:

  • 请求资源的主动性不一样。JDBC是通过java程序主动去连接数据库获得连接,而JNDI是通过请求命名服务器返回数据库连接。
  • 功能范围不一样。JDBC只能用来做一件事那就是连接数据库,而命名JNDI除了能和JDBC做同样的事以外还能管理当前应用服务器上的其他资源,如网页,文件等。
  • 请求连接数不通。JNDI连接池数高于JDBC。

mybatis+Tomcat使用JNDI配置数据源

jndi和jdbc的区别相关推荐

  1. JNDI 和JDBC的区别

    1.JNDI 和JDBC的区别和联系. 两者都是API,是一个标准.并不是什么产品或方法. JDBC 全称:Java Database Connectivity 以一种统一的方式来对各种各样的数据库进 ...

  2. 简述 Hibernate 和 JDBC 的区别、优缺点

    1.hibernate是一个开源的.采用面向对象的思想实现ORM映射框架,它对jdbc进行了一层封装,对于数据库的连接.关闭.数据的持久化(增删改查).事务的管理都进行了封装,使得程序开发的时候可以用 ...

  3. mysql和jdbc的区别_JDBC详解

    一. JDBC 简介 1 什么是 JDBC •JDBC(JavaDataBaseConnectivity)java 数据库连接 • 是 JavaEE 平台下的技术规范 • 定义了在 Java 语言中连 ...

  4. java连接weblogic_java学习:weblogic下JNDI及JDBC连接测试(weblogic环境)

    JNDI的专业解释,大家自行去网络搜索吧,这里就不啰嗦了. 单纯从使用角度看,可以简称把它看成一个key-value的"哈希资源"容器.给定一个string类型的key,可以把任何 ...

  5. org.gjt.mm.mysql.Driver与com.mysql.jdbc.Driver区别

    引用:http://hi.baidu.com/hotome/blog/item/ed45097eb795d8310cd7da12.html org.gjt.mm.mysql.Driver 是早期的驱动 ...

  6. oracle jdbc thin 区别,JDBC驱动oci和thin区别

    thin和oci和oracle数据库系统的架构图 JDBC Thin Driver The JDBC Thin driver is a pure Java, Type IV driver that c ...

  7. Oracle JDBC版本区别(转)

    oracle\product\11.2.0\dbhome_1\jdbc\lib ojdbc5.jar ojdbc5dms.jar ojdbc5dms_g.jar ojdbc5_g.jar ojdbc6 ...

  8. 【JDBC】JPA和JDBC的区别

    1. 引言 在介绍JPA和JDBC之前,我们先了解一个概念: 持久化: 将程序数据在持久状态和瞬时状态间转换的机制.通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持 ...

  9. JDBC与JNDI应用比较

    JNDI用了多年但是一直没去弄懂其和JDBC的区别,今天在网上搜了下,发下些资料说明的还不错记录下. JNDI是 Java 命名与目录接口(Java Naming and Directory Inte ...

最新文章

  1. 编程格式注意事项---后期慢慢补充
  2. 【渝粤教育】广东开放大学 物业服务营销管理 形成性考核 (59)
  3. squid是否支持http1.1和对KeepAlive支持的个人理解
  4. mysql导出表数据
  5. responseentity 详解_如何正确选购和使用电动自行车?7个问答详解!_政务_澎湃新闻...
  6. ie剪切增强版工具---自由填表工具filltable
  7. total commander最近修改标红
  8. wireshark学习笔记
  9. 最强集五福攻略来了,一天可得12张福字~
  10. IT男容易出现的几个问题
  11. 以太网巨人3Com退出历史舞台
  12. 三、HDMI与I2C
  13. 使用BeanEditForm来创建用户表单
  14. Flink内存模型、网络缓冲器、内存调优、故障排除
  15. matlab 模态叠加法,基础激励下基于模态叠加法谐响应分析.doc
  16. flutter 实心三角形
  17. return在c语言的意思,return在c语言中是什么意思?_后端开发
  18. 决策树Decision Tree 和随机森林RandomForest基本概念(一)
  19. 第3题:设计一个模拟电信计费程序
  20. python的网页解析器_Beautiful Soup常见的解析器

热门文章

  1. Docker+HomeAssistant+HACS+设备接入教程
  2. NAT—网络地址转换作用介绍
  3. 【正项级数】敛散性判别(二)
  4. p2p网络摄像头的工作原理
  5. echarts 分象限实现气泡图
  6. 内容较长:软件测试面试题汇总
  7. Nuxtjs npm run dev 运行时出现Are you interested in participating?问题解决方案
  8. 使用opengl绘制立方体_opengl基本流程
  9. phpexcel 导出 基本设置
  10. 《雷神之锤III》里求平方根的函数