在编写了一些简单的JDBC程序之后,我正在浏览JDBC API(主要是java.sql包)。
例如,在java.sql中,以下是声明:
public interface Connection extends Wrapper, AutoCloseable
因此,根据我的理解,这些规范必须由数据库供应商以JDBC驱动程序的形式实现。
在我的示例程序中,我使用了H2 db,所以我下载了JDBC驱动程序。
现在,这个jar应该有java.sql.Connection的实现,这就是我在.jar(jdbc驱动程序)中看到的(在package - > org.h2.jdbc下):
public class org.h2.jdbc.JdbcConnection extends org.h2.message.TraceObject implements java.sql.Connection {
jdbc驱动程序jar确实实现了java.sql.Connection,如预期的那样;但它从哪里获得java.sql.Connection? (它只是实现java.sql.Connection),java.sql.Connection的定义来自哪里?
任何明确这一疑问的指示都会有所帮助。