数据库编程——intro to JDBC

【0】README

1) 本文文字描述 转自 core java volume 2 , 旨在理解 数据库编程——JDBC 的基础知识 ;
2)JDBC起源: 96年, Sun公司发布了 第一版的java 数据库连接(JDBC)API, 允许编程人员可以通过这个API 接口连接到 数据库,并使用结构化查询语言(即SQL)完成对数据库的查找与更新;


【1】JDBC 的设计(JDBC——Java DataBase Connection)

1)所有数据库供应商和工具开发商认为,如果java 能够为 SQL 访问提供一套纯 java API , 同时提供一个驱动管理器, 以允许第三方驱动程序可以连接到特定的数据库,那他将会非常有用;(干货——引入了驱动管理器)

  • 1.1)这样, 数据库供应商就可以提供自己的驱动程序,并插入到驱动管理器中。
  • 1.2)另外还需要一套简单机制,以使得第三方驱动程序可以向驱动管理器注册;

2) ODBC(Open DataBase Connection-开放数据库互连):这种接口组织方式遵循了 微软公司非常成功的 ODBC模式;ODBC 为C语言访问数据库提供了一套编程接口。 (干货——ODBC定义)
3)JDBC 和ODBC都基于同一个思想: 根据API编写的程序都可以与驱动管理器进行通信, 而驱动管理器则通过 驱动程序与实际的数据库进行通信; (干货——JDBC 和ODBC都基于同一个思想)


【2】 JDBC 驱动程序类型(JDBC driver program type)

1)JDBC规范将驱动程序归结为以下几类:

  • 1.1)第1类驱动程序: 将 JDBC 翻译为 ODBC, 然后使用一个 ODBC 驱动程序与数据库进行通信;如 JDBC/ODBC 桥, 但强烈不建议使用 JDBC/ODBC 桥; (干货——强烈不建议使用 JDBC/ODBC 桥)
  • 1.2)第2类驱动程序:是由部分 java 程序和部分本地代码组成的, 用于与数据库的客户端API 进行通信; 在使用驱动程序前,客户端不仅要安装java 类库, 还需要安装 一些与平台相关的代码;
  • 1.3)第3类驱动程序:是纯java 客户端类库, 它使用一种与具体数据库无关的协议将数据库请求发送给 server 构件, 然后该构件再将数据库请求翻译成数据库相关的协议, 这简化了部署, 因为平台相关的代码只 位于server 端了;
  • 1.4)第4类驱动程序:是纯java 类库, 它将JDBC 请求直接翻译成数据库相关的协议。

Attention)大部分数据库供应商都为它们的产品提供了 第3类 或 第4类 驱动程序;
Conclusion) JDBC 实现了以下目标: (干货——JDBC的目标)

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

【2】JDBC的典型用法

1)三层应用模式 (干货——三层应用模式)

  • 1.1)在三层应用模式中, 客户端不直接调用数据库,而是调用服务器上的中间件层,最后由中间件层完成数据库查询操作;
  • 1.2)这三层应用模式的优点如下(virtue):
    • V1) 它将可视化表示(位于客户端) 从业务逻辑(位于中间件)和原始数据(位于数据库)中分离出来;
    • V2)因此,我们可以从不同的客户端,如 java 应用, web 表单,来访问相同的数据和相同业务规则;
      这里写图片描述

2)客户端和中间层之间的通信通过 HTTP, 或诸如远程方法调用 RMI 这样的机制来完成。 (干货——引入 RMI技术)
3)JDBC 负责在中间层和后台数据库之间进行通信, 如图4-2所示。

  • 3.1)这模型有多种变体: 尤其是 java 企业版(java EE)为应用服务器定义了一种结构,用于管理称为 企业级 Java Bean (EJB)的代码模块, 并且提供了许多重要的服务; (干货——涉及到了EJB)
  • 3.2)JDBC 扮演了重要的角色: 即完成复杂的数据库查询;
    这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值