Java JDBC驱动程序类型号之间的差异
我注意到JDBC有不同的驱动程序,如:Java JDBC驱动程序类型号之间的差异,java,sql,database,jdbc,drivers,Java,Sql,Database,Jdbc,Drivers,我注意到JDBC有不同的驱动程序,如: 类型1驱动器 第二类司机等。。输入4 为什么他们会得到像1型,2型等这样的名字。?有什么逻辑吗? 似乎没有任何逻辑,我猜只是单纯的懒惰 更新:问题是是否有一些逻辑将其称为类型1、类型2等,而不是称为类型apple、类型orange:)。我知道驱动程序类型是不同的,并且根据具体情况而工作/不工作,但是为什么名称“Type 1”而不是“Type JDBC-ODBC”或“Type JO”没有任何原因。简而言之,每种类型使用不同的策略,对于不同类型的实现效果更好。
更新:问题是是否有一些逻辑将其称为类型1、类型2等,而不是称为类型apple、类型orange:)。我知道驱动程序类型是不同的,并且根据具体情况而工作/不工作,但是为什么名称“Type 1”而不是“Type JDBC-ODBC”或“Type JO”没有任何原因。简而言之,每种类型使用不同的策略,对于不同类型的实现效果更好。我不认为这是懒惰。我认为这是为了能够更容易、更清楚地选择最适合您的特定情况的类型。这些数字信息量不大。我发现按照以下思路思考更有用:
- 本地API(1,2)与网络协议(3,4)
- 数据库独立(奇数)与数据库特定(偶数)
我永远记不起数字,但当有人说“我们这里使用的是4型驱动程序”时,我可以问两个是非问题,以了解他们在说什么。类型数字告诉我们驱动程序实际上是如何与数据库通信的
一般来说(只是巧合),类型号越高,JDBC驱动程序的性能越好。我相信它可以追溯到Sun最初的版本(1997): 我们知道的JDBC驱动程序 在这个时候一般适合一个 四类:
请注意,他们实际上并没有将它们命名为类型1、2、3和4,而是命名为JDBC-ODBC桥加ODBC驱动程序、本机API部分Java驱动程序、JDBC Net纯Java驱动程序和本机协议纯Java驱动程序。每个名字都是满嘴的,所以人们立即开始用他们的号码来称呼他们。这是有道理的——了解司机类型有助于了解司机在什么情况下工作。例如,如果您不能部署本机代码(比如在小程序中),使用本机代码的驱动程序将无法工作。遗憾的是,Oracle似乎没有保留到旧Sun文档的链接。特定于供应商的意思是本机有一点帮助