JDBC学习笔记(1):JDBC理论概述

简介

  • JDBC(Java Data Base Connectivity,java数据库连接),由一些接口和类构成的API。使编程人员可以通过这个API接口连接到数据库,并使用结构化查询语言(即SQL)完成对数据库的查找和更新。(SQL通常发音为"sequel",它是数据库访问的业界标准.)JDBC是Java最常用类库之一。
  • J2SE的一部分,由java.sql,javax.sql包组成。
  • 应用程序、JDBC API、数据库驱动及数据库之间的关系。如图1:

JDBC驱动程序类型

  • 第一类:驱动程序将JDBC翻译成ODBC,然后使用一个ODBC驱动程序与数据库进行通信。[ODBC/JDBC桥]
  • 第二类:由部分Java程序和部分本地代码组成,用于与数据库的客户端API进行通信。在使用这种驱动程序之前,客户端不仅需要安装Java类库,还需要安装一些与平台相关的代码。
  • 第三类:驱动程序是纯Java客户端类库。用一种与具体数据库无关的协议将数据库请求发送给服务器构件,然后该构件在将数据库请求翻译成数据库相关的协议。
  • 第四类:驱动程序是纯Java类库,它将JDBC请求直接翻译成数据库相关的协议。

总之,JDBC最终实现了以下目标:

  • 通过使用标准的SQL语句,甚至是标准的SQL扩展,程序员就可以使用Java语言开发访问数据库的应用,同时依旧遵守Java语言的相关约定。
  • 数据库供应商和数据库开发工具商可以提供底层的驱动程序。因此,可以优化各自数据库产品的驱动程序。

在传统的C/S模式中,通常是在服务器端部署数据库,而在客户端安装内容丰富的GUI界面。在此模型中,JDBC驱动程序应该部署在客户端。

传统的客户端/服务器应用

如今,全世界都在从C/S模式转向"三层应用模式",甚至更高级的"n层应用模式"。在三层应用模式中,客户端不直接调用数据库,而是调用服务器上的中间件层,最后又中间件层完成数据库的查询操作。这种三层应用模式有一下优点:

它将可视化表示(位于客户端)从业务逻辑(位于中间层)和原始数据(位于数据库)中分离出来。因此,我们就可以从不同的客户端,如Java应用、Applet或者Web表单,来访问相同的数据和相同的业务规则。

客户端和中间层之间的通信可以通过HTTP(在将Web浏览器用作客户端时),或诸如远程方法调用RMI这样的机制来完成。JDBC负责在中间层和后台数据库之间进行通信。这种通信模型基本架构如下图:

三层结构的应用

时间: 2024-10-08 07:00:01

JDBC学习笔记(1):JDBC理论概述的相关文章

【转】JDBC学习笔记(1)——JDBC概述

转自:http://www.cnblogs.com/ysw-go/ JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据库使用: 连接到数据库 创建SQL或MySQL语句 在数据库中执行SQL或MySQL查询 查看和修改记录 JDBC架构   JDBC API支持两层和三层的处理模式对数据库的访问,但一般JDBC体系结构由两层组成: JDBC API: 这提供了应用程

JDBC学习笔记(一)

public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection conn = null; try { /** * 1.加载JDBC驱动程序: * 加载目标数据库驱动到JVM * 成功加载后,会将Driver类的实例注册到DriverManager类 * oracle-Driver:oracle.jdbc.driver.OracleDriver * MySQL-Drive

C++ Primer 学习笔记_65_面向对象编程 --概述、定义基类和派生类

面向对象编程 --概述.定义基类和派生类 引言: 面向对象编程基于的三个基本概念:数据抽象.继承和动态绑定. 在C++中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员.动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数. 继承和动态绑定在两个方面简化了我们的程序:[继承]能够容易地定义与其他类相似但又不相同的新类,[派生]能够更容易地编写忽略这些相似类型之间区别的程序. 面向对象编程:概述 面向对象编程的关键思想是多态性(polymorphism)

ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 诸君,我喜欢嫩的--呸呸呸 诸君,我喜欢3D咋了?新事物会替代旧事物不是~ ArcGIS API for JavaScript 4.2概述 AJS 4.2,即ArcGIS API for JavaScript 4.2,是美国ESRI公司针对WebGIS市场推出的.利用JavaScript和Dojo开发的一款产品,它在2016年12月发布.而AJS 4.0 beta则在一年前就发布了. 关于AJS3和AJS4选择的问题,

Citrix XenMobile学习笔记之一:方案概述

移动设备的大量普及,快速地改变传统工作模式,让员工自己携带设备(Bring Your Own Device,BYOD)俨然成为势不可挡的新兴潮流,但是就IT管理而言,在安全控管方面却是一项新挑战.对此桌面虚拟化技术(Virtual Desktop Infrastructure,VDI)厂商纷纷相继扩展产品线来应对,Citrix推出从桌面到移动设备的Citrix XenMobile解决方案,并成为该领域的领导者. Citrix XenMobile企业移动管理解决方案 Citrix XenMobil

JDBC学习笔记二

Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句.Statement对象,用于执行不带参数的简单SQL语句. 通过JDBC向指定的数据表中插入一条记录,需要注意下面的几点: * 1.Statement:用于执行SQL语句的对象 * 1).通过COnnection的createStatement()方法来获取 * 2).通过excuteUpdate(sql)可以执行S

Javaweb学习笔记7—JDBC技术

今天来讲javaweb的第7阶段学习. JDBC技术,关于JDBC本篇博客只介绍了它的一部分,后面博客会更加深入探讨. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载 另外:如果图看不清的话请右击---在新窗口中打开会清楚很多. 一,概述: 1,定义 各个数据库厂商会遵循SUN的规范提供一套访问自己公司的数据库服务器的API出现.SUN提供的规范命名为JDBC,而各个厂商提供的,遵循了J

【转】JDBC学习笔记(2)——Statement和ResultSet

转自:http://www.cnblogs.com/ysw-go/ Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句.Statement对象,用于执行不带参数的简单SQL语句. 通过JDBC向指定的数据表中插入一条记录,需要注意下面的几点: * 1.Statement:用于执行SQL语句的对象 * 1).通过COnnection的createStatement()方

JDBC学习笔记一

JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据库使用: 连接到数据库 创建SQL或MySQL语句 在数据库中执行SQL或MySQL查询 查看和修改记录 JDBC架构   JDBC API支持两层和三层的处理模式对数据库的访问,但一般JDBC体系结构由两层组成: JDBC API: 这提供了应用程序到JDBC管理器连接. JDBC Driver API: 这支持J

JAVA EE 学习笔记[V3 JDBC连接数据库]

Going on 在前面两节实力浅学了Servlet和Jsp一波.然而这些东西离我们实际开发还有很远的距离(至少作业都完成不了=-=),所以想更进一步靠近实际开发的话,那就一定得对数据库的知识有一定程度的掌握和了解(这里暂时先来点简单的,毕竟数据库又是学科分支,分分钟搞大),我暂时对JAVA访问数据库的技术即JDBC进行学习和了解. JDBC简介 商业应用的后台数据一般存放在数据库中,很明显,可以通过 Java 代码来访问数据库. 在 Java 技术系列中,访问数据库的技术叫做 JDBC(Jav