帮我连接java和oracle

时间:2009-12-06 06:36:43

标签: java oracle jdbc

有人能解释我这些课程和方法吗?

DriverManager.registerDriver
(new oracle.jdbc.driver.OracleDriver());
conn = java.sql.DriverManager.getConnection(
"jdb:ocracle:thin:username/password@machine.us.company.com:1234:dbSID");

由于

3 个答案:

答案 0 :(得分:4)

让我们解码代码块的行:

1. DriverManager.registerDriver
2. (new oracle.jdbc.driver.OracleDriver());
3. conn = java.sql.DriverManager.getConnection(
4. "jdbc:oracle:thin:username/password@machine.us.company.com:1234:dbSID");

第2行:

为Oracle数据库创建oracle.jdbc.driver.OracleDriver的新实例,即JDBC Driver。 JDBC驱动程序实现JDBC API定义的接口和类,程序员使用这些接口和类连接到数据库并执行查询。

第1行

oracle.jdbc.driver.OracleDriver的实例注册到DriverManager类,这是JDBC的传统管理层,在用户和驱动程序之间工作。它处理在数据库和适当的驱动程序之间建立连接。

第3行:

现在JDBC应用程序和数据库之间的通信层已准备就绪,您可以通过调用getConnection()类的DriverManager方法来创建连接。

第4行:

这是“连接字符串”或“数据库URL”。此String标识要连接到的数据库。此URL的方案特定于数据库提供程序和/或驱动程序(此处为Oracle及其“瘦”驱动程序)。


请注意,在Java 6之前,调用Class.forName是加载和注册JDBC驱动程序的首选方法。 Driver有责任致电DriverManager.registerDriver

  

[...]所有Driver类应该使用静态部分(静态初始化程序)编写,该部分创建类的实例,然后在加载DriverManager类时将其注册。因此,用户通常不会直接呼叫DriverManager.registerDriver;它应该在加载时由Driver类自动调用。

查看JDBC文档中的Driver Manager章节以获取更多详细信息。

答案 1 :(得分:0)

java中的DriverManager类处理数据库和jdbc驱动程序之间的连接,将db i / o路由到正确的jdbc驱动程序(可以激活多个驱动程序,即连接到多种类型的数据库)。 / p>

驱动程序已在DriverManager中注册,以便它们成为其工作集的一部分。下一步是创建与数据库的连接,以便运行查询。

实现了这个目标
Connection conn = DriverManager.getConnection("jdb:ocracle:thin:username/password@machine.us.company.com:1234:dbSID")

方法。传递到getConnection()方法的连接String是特定于驱动程序的,您需要为每个驱动程序提供RTFM。请注意,DriverManager根据您传入的连接字符串的语法,从其已注册的驱动程序列表中自动选择驱动程序。

返回的Connection对象是用于准备语句和针对数据库运行查询的句柄

答案 2 :(得分:0)

这是JDBC,这是Java程序与数据库通信的方式,您的示例明确要求在类路径中需要其驱动程序的Oracle驱动程序。

Sun在http://java.sun.com/docs/books/tutorial/jdbc/overview/index.html

上有一个很好的教程