有人能解释我这些课程和方法吗?
DriverManager.registerDriver
(new oracle.jdbc.driver.OracleDriver());
conn = java.sql.DriverManager.getConnection(
"jdb:ocracle:thin:username/password@machine.us.company.com:1234:dbSID");
由于
答案 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
上有一个很好的教程