在JDBC中,您首先需要通过调用来注册驱动程序
Class.forName('classname')
加载数据库类并向其注册该类
DriverManager
当你说
DriverManager.getConnection()-它返回你
java.sql.Connection(按照规格的合同)
哪个类实现这些方法?
实际的实现由数据库供应商提供,例如Oracle,MySQL。
为什么将其称为连接对象而不是已实现的类对象?
因为您是编码到接口而不是实现(良好的编码习惯)。
如果需要,可以在供应商jar中查找并找到哪个类实现Connection,然后代替
Connection connection = DriverManager.getConnection()
你可以写
VendorConnectionImpl vendorConnection = (VendorConnectionImpl)DriverManager.getConnection()
上面的方法可以工作,但是它将使您与该特定实现绑定在一起。
如果要从vendor1迁移到vendor2,则不能这样做,首先必须根据vendor2
API更改上述代码。但是,如果使用第一种方法,则可以在不更改代码的情况下从Vendor迁移到Vendor。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)