- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jdbc从入门到精通,特别适合初学者如果你有翻阅java API文档的习惯的话,你就会发现,jdbc API中接口占了大多数。不同的jdbc驱动开发者提供了实现必要接口的类。开发商之间的不断竞争就为我们提供了多种jdbc驱动。点击这里你会方便的获得很多公司提供的jdbc驱动。从编程的角度出发,有两个主要的类负责建立与数据库的连接。第一个类是 DriverManager,它是在 JDBC API 中提供的为数不多的实际类之一。DriverManager 负责管理已注册驱动程序的集合,实质上就是提取使用驱动程序的细节,这样程序员就不必直接处理它们。第二个类是实际的 JDBC Driver 类。这些是由独立厂商提供的。JDBC Driver 类负责建立数据库连接和处理所有与数据库的通讯。在所有java程序与数据库之间创建连接的过程的第一步是在jvm中注册jdbc驱动。在传统的连接机制(相对于后面讨论的 DataSource 连接机制)中,连接和所有数据库通讯是由 DriverManager 对象控制的。要建立一个连接,必须用 DriverManager 对象注册针对目标数据库的适当的 JDBC 驱动程序。JDBC 规范规定了 JDBC 驱动程序在装入 JVM 时应该自动用 DriverManager 对象注册自身。例如,下面的代码段使用一个静态的初始化程序来首先创建一个 persistentjava JDBC 驱动程序的实例,然后用 DriverManager 将其注册。static {java.sql.DriverManager.registerDriver(new com.persistentjava.JdbcDriver()) ;}注册驱动程序就是将驱动程序类装入 JVM 的工作,它可以用几种不同的方法完成。一种方法就是使用类调用器(ClassLoader)Class.forName(yourDriver);。另一种方法不太常见,是使用 jdbc.drivers 系统属性。这种方法可以有三种不同的方式:
从命令行: java -Djdb.drivers=com.persistentjava.JdbcDriver Connect
在 java 应用程序中:System.setProperty(jdbc.drivers, com.persistentjava.JdbcDriver) ;
通过在系统属性文件中设置 jdbc.drivers 属性,这通常和系统有关。
通过用冒号隔离驱动程序,多个驱动程序可以使用上面提到的系统属性方法注册。使用系统属性方法的一个好处是驱动程序很容易在 JVM 中调入和调出,而不用修改任何代码或修改最少的代码。如果注册了多个驱动程序,它们的优先顺序是:1)JVM 初始化时通过 jdbc.drivers 属性注册的 JDBC 驱动程序,2)动态装入的 JDBC 驱动程序。因为 jdbc.drivers 属性只在 DriverManager() 方法的第一次调用时检查一次,确保所有驱动程序在建立数据库连接之前被正确注册是很重要的。然而,不是所有的 JVM 都平等创建,一些 JVM 并不符合 JVM 规范。结果是,静态初始化程序并不如预期的那样运行。这导致了注册 JDBC 驱动程序的多种方法,包括:
Class.forName(com.persistentjava.JdbcDriver).newInstance() ;
DriverManager.registerDriver(new com.persistentjava.JdbcDriver()) ;
这些替代方案应该在所有 JVM 中都运行良好,所以您应该放心地在众多可能出现的 JVM 中使用它们工作。最后一个问题是 Class.forname() 可能抛出一个 ClassNotFoundException,所以您需要在合适的异常处理程序中包装注册代码。 一旦 JDBC 驱动程序用 DriverManager 注册了,就可以用于建立到数据库的连接。但是很多不同的驱动程序都可能被注册过,DriverManager 怎样选择正确的驱动程序呢?方法:每个 JDBC 驱动程序使用一个专门的 JDBC URL作为自我标识的一种方法,他的格式和web地址挺相似。URL 的格式是直观的:jdbc:sub-protocol:database locator。子协议(sub-protocol)与 JDBC 驱动程序有关,可以是 odbc、oracle、db2 等等,根据实际的 JDBC 驱动程序厂商而不同。数据库定位器(database locator)是与驱动程序有关的指示器,用于唯一指定应用程序要和哪个数据库进行交互。根据驱
文档评论(0)