Помоги мне соединить Java и Oracle - PullRequest
2 голосов
/ 06 декабря 2009

Кто-нибудь может объяснить мне эти классы и методы?

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

Спасибо

Ответы [ 3 ]

4 голосов
/ 06 декабря 2009

Давайте расшифруем строки вашего блока кода:

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.jdbc.driver.OracleDriver, JDBC Driver для базы данных Oracle. Драйвер JDBC реализует интерфейсы и классы, определенные API JDBC, которые программисты используют для подключения к базе данных и выполнения запросов.

Строка 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 классом при загрузке.

Подробнее см. Главу Driver Manager в документации JDBC.

0 голосов
/ 06 декабря 2009

Это JDBC, который позволяет Java-программам взаимодействовать с базой данных, и ваш пример явно запрашивает драйвер Oracle, для которого требуется их драйвер в вашем пути к классам.

У Sun есть хороший учебник по этому вопросу на http://java.sun.com/docs/books/tutorial/jdbc/overview/index.html

0 голосов
/ 06 декабря 2009

Класс DriverManager в java обрабатывает соединения между базой данных и драйверами jdbc, направляя ввод-вывод db на правильный драйвер jdbc (у вас может быть несколько активных драйверов, т.е. соединения с несколькими типами баз данных).

Драйверы зарегистрированы в DriverManager, чтобы они стали частью его рабочего набора. Следующим шагом является создание соединения с вашей базой данных, чтобы вы могли выполнять запросы. Это достигается с помощью

Connection conn = DriverManager.getConnection("jdb:ocracle:thin:username/password@machine.us.company.com:1234:dbSID")

метод. Строка подключения, передаваемая в метод getConnection(), зависит от драйвера, необходимо RTFM для каждого драйвера. Обратите внимание, что DriverManager автоматически выбирает драйвер из списка зарегистрированных драйверов в соответствии с синтаксисом передаваемой строки подключения.

Возвращенный объект Connection - ваш дескриптор для подготовки операторов и выполнения запросов к базе данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...