java – JDBC-接口的实现
发布时间:2020-12-15 07:36:28 所属栏目:Java 来源:网络整理
导读:在JDBC中,为了在DB中连接和执行语句,我们主要使用Connection,Statement和ResultSet作为接口.但是它们的相应对象后来用于运行createStatement(),executeQuery(),next()等方法.这些类实现了这些方法吗? 为什么它被称为连接对象而不是实现的类对象? 解决方法
在JDBC中,为了在DB中连接和执行语句,我们主要使用Connection,Statement和ResultSet作为接口.但是它们的相应对象后来用于运行createStatement(),executeQuery(),next()等方法.这些类实现了这些方法吗?
为什么它被称为连接对象而不是实现的类对象? 解决方法
在JDBC中,您首先通过调用来注册驱动程序
Class.forName('classname') 它加载Database类并使用DriverManager注册该类 当你说DriverManager.getConnection() – 它返回java.sql.Connection(根据规范的合同)
实际的实现由数据库供应商提供,例如,甲骨文,MySQL.
因为你code to Interface and not implementation(良好的编码实践). 如果你想要,你可以在供应商jar中查找并找到哪个类实现Connection,而不是 Connection connection = DriverManager.getConnection() 你可以写 VendorConnectionImpl vendorConnection = (VendorConnectionImpl)DriverManager.getConnection() 以上内容将起作用,但它将绑定您与该特定实现. 如果您想从vendor1迁移到vendor2,则无法执行此操作,首先您必须根据vendor2 API更改上述代码,但如果您使用第一种方法,则可以从Vendor转移到Vendor,而无需更改代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |