“核心技术Ⅱ:数据库编程”的版本间差异
跳到导航
跳到搜索
无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
[[category:JavaCore]] | [[category:JavaCore]] | ||
== | == 关于JDBC == | ||
JDBC | Java数据库连接('''JDBC''')API:<br/> | ||
JDBC | : 遗循了微软公司非常成功的'''ODBC'''模式(ODBC:微软提供为'''C语言访问数据库'''的一套编程接口)。JDBC和ODBC都基千同一个思想:根据API编写的程序都可以与'''驱动管理器'''进行通信,而驱动管理器则通过'''驱动程序'''与实际的数据库进行通信。 | ||
* 我们将JDBC包看作是一个用于“将SQL语句传递给数据库”的应用编程接口; | |||
'''JDBC的目标:''' | |||
# 通过使用标准的SQL语句,甚至是专门的SQL扩展,程序员就可以利用Java语言开发访问数据库的应用,同时还依旧遵守Java语言的相关约定。 | |||
# 数据库供应商和数据库工具开发商可以提供底层的驱动程序。因此,他们可以优化各自数据库产品的驱动程序。 | |||
'''JDBC 驱动程序类型:''' | |||
# 笫1类驱动程序:'''将JDBC翻译成ODBC''', 然后使用一个ODBC驱动程序与数据库进行通信。 | |||
#: 较早版本的Java包含一个这样的驱动程序:'''JDBC/ODBC桥''',不过在使用这个桥接器之前需要对ODBC进行相应的部署和正确的设置。(Java 8已经不再提供JDBC/ODBC桥) | |||
# 笫2类驱动程序:由部分'''Java程序和部分本地代码'''组成的,用于与数据库的客户端API进行通信。 | |||
#: 在使用这种驱动程序之前,客户端不仅斋要安装Java类库,还需要安装一些与平台相关的代码。 | |||
# 第3类驱动程序:'''纯Java客户端类库''',它使用一种与具体数据库无关的协议将数据库请求发送给服务器构件,然后该构件再将数据库请求翻译成数据库相关的协议。这简化了部署,因为平台相关的代码只位于服务器端。 | |||
# 第4类驱动程序:'''纯Java类库''',它将JDBC请求直接翻译成数据库相关的协议。 | |||
'''JDBC 的典型用法:''' | |||
# 传统的客户端/服务器模型:通常是在服务器端部署数据库,而在客户端安装富GUI程序。(在此模型中,JDBC驱动程序应该部署在客户端) | |||
#: [[File:JDBC:传统的客户端-服务器应用.png|400px]] | |||
# 三层模型:客户端不直接调用数据库,而是调用服务器上的中间件层,由中间件层完成数据库查询操作。 | |||
#: [[File:JDBC:三层结构的应用.png|400px]] | |||
'''结构化查询语言:'''即'''SQL'''【SQL,读作“ [ˈsiːkwəl] ”】 | |||
:[[File:SQL数据类型.png|600px]] | |||
== JDBC配置 == | == JDBC配置 == | ||
数据库URL | 数据库URL |
2021年1月9日 (六) 05:19的版本
关于JDBC
Java数据库连接(JDBC)API:
- 遗循了微软公司非常成功的ODBC模式(ODBC:微软提供为C语言访问数据库的一套编程接口)。JDBC和ODBC都基千同一个思想:根据API编写的程序都可以与驱动管理器进行通信,而驱动管理器则通过驱动程序与实际的数据库进行通信。
- 我们将JDBC包看作是一个用于“将SQL语句传递给数据库”的应用编程接口;
JDBC的目标:
- 通过使用标准的SQL语句,甚至是专门的SQL扩展,程序员就可以利用Java语言开发访问数据库的应用,同时还依旧遵守Java语言的相关约定。
- 数据库供应商和数据库工具开发商可以提供底层的驱动程序。因此,他们可以优化各自数据库产品的驱动程序。
JDBC 驱动程序类型:
- 笫1类驱动程序:将JDBC翻译成ODBC, 然后使用一个ODBC驱动程序与数据库进行通信。
- 较早版本的Java包含一个这样的驱动程序:JDBC/ODBC桥,不过在使用这个桥接器之前需要对ODBC进行相应的部署和正确的设置。(Java 8已经不再提供JDBC/ODBC桥)
- 笫2类驱动程序:由部分Java程序和部分本地代码组成的,用于与数据库的客户端API进行通信。
- 在使用这种驱动程序之前,客户端不仅斋要安装Java类库,还需要安装一些与平台相关的代码。
- 第3类驱动程序:纯Java客户端类库,它使用一种与具体数据库无关的协议将数据库请求发送给服务器构件,然后该构件再将数据库请求翻译成数据库相关的协议。这简化了部署,因为平台相关的代码只位于服务器端。
- 第4类驱动程序:纯Java类库,它将JDBC请求直接翻译成数据库相关的协议。
JDBC 的典型用法:
- 传统的客户端/服务器模型:通常是在服务器端部署数据库,而在客户端安装富GUI程序。(在此模型中,JDBC驱动程序应该部署在客户端)
- 三层模型:客户端不直接调用数据库,而是调用服务器上的中间件层,由中间件层完成数据库查询操作。
结构化查询语言:即SQL【SQL,读作“ [ˈsiːkwəl] ”】
JDBC配置
数据库URL 驱动程序JAR文件 启动数据库 注册驱动器类 连接到数据库
使用JDBC语句
执行SQL语句 管理连接、语句和结果集 分析SQL异常 组装数据库
执行查询操作
预备语句 读写LOB SQL 转义 多结果集 获取自动生成的键
可滚动和可更新的结果集
可滚动的结果集 可更新的结果集
行集
构建行集 被缓存的行集
元数据
事务
用JDBC对事务编程 保存点 批量更新