JDBC驱动程序实现如何工作?

时间:2013-08-05 13:18:05

标签: jdbc driver

JDBC驱动程序实现提供了允许客户端与第三方数据库通信的低级别详细信息。我只是好奇它在幕后做了什么。用不同语言编写的两个系统之间的通信通常通过Web服务进行。

jdbc驱动程序是否使用Web服务在客户端和数据库服务器之间进行通信?或者我过度简化了?

2 个答案:

答案 0 :(得分:2)

编写JDBC驱动程序的人有several options可供选择:

  • 类型1驱动程序:使用通用JDBC-ODBC桥,不要实际创建驱动程序。
  • 类型2:创建一个“包装器”,使用JNI调用本机客户端库中的函数。
  • 类型3:连接到与数据库通信的“中间件”服务的通用驱动程序。
  • 类型4:数据库通信协议的纯Java实现。

类型3驱动程序可能使用Web服务与中间件进行通信。其他类型的驱动程序很可能通过TCP / IP套接字(如果数据库位于远程主机上)或其他合适的可靠传输(而不是通过Web服务)以特定于数据库的二进制协议进行通信。

答案 1 :(得分:0)

您应该查看此link,因为这会向您展示JDBC的工作原理。

现在提出您的问题:没有JDBC不使用Web服务。它连接到不同类型的数据库的方式是由于数据库供应商,因为不同的数据库供应商提供自己的驱动程序实现,您只需要使用该实现。没有什么比Web服务更好的了。每个数据库供应商都为您提供了一些自己的api来访问数据库,它们映射到Java的api访问数据库,这是通用的。 Java为数据库操作提供了一个通用api,它最终使用套接字与数据库进行操作和通信。

所以你需要阅读的是TCP / IP,套接字编程,IO和JDBC。请不要忘记检查链接,它一定会帮助您理解这个概念。