Поиск по имени класса
Листинг 12.1. Поиск по имени класса
try {
Class.forName("org.postgresql.Dri ver"):
} catch (ClassNotFoundException cnfe) {
System.err.println("Couldn't find driver class:"):
cnfe.printStackTrace():
}
Метод Cl ass. forName выполняет поиск класса по имени. В данном примере для поиска используется имя «Driver». Загрузчик просматривает содержимое CLASSPATH и ищет класс с заданным именем. Если поиск оказывается успешным, загрузчик читает двоичное описание класса. Если класс не найден, инициируется исключение ClassNotFoundException; в нашем примере обработчик этого исключения выводит сообщение об ошибке. Если это произошло, значит, либо была допущена ошибка при построении драйвера, либо файл .jar отсутствует в пути CLASSPATH.
После регистрации класса Driver наступает следующая стадия — подключение к базе данных PostgreSQL с использованием класса DriverManager. Класс Dri verManager отвечает за работу с URL-адресами JDBC, выбор подходящего драйвера и его дальнейшее применение для подключения к базе данных. URL-адреса JDBC состоят из трех частей, разделенных двоеточиями:
jdbc: тил_дрдйвера : база_двнных
Первая часть, jdbc, всегда остается постоянной и указывает на то, что подключение производится к источнику данных JDBC. Вторая часть, mun_dpaueepa, представляет тип базы данных, к которой вы хотите подключиться. Для подключения к базе данных PostgreSQL используется строка postgresql. Третья часть передается драйверу и используется им для поиска базы данных. Она имеет один из трех форматов:
база_данных
//хост/база_данных
//хост:порт/бвза_данных
В первом формате база данных PostgreSQL работает на локальном хосте со стандартным номером порта, а параметр база_даиных определяет имя базы данных для подключения. Во втором формате задается имя хоста и имя базы данных со стандартным номером порта. Третий формат позволяет задать номер порта. Даже при использовании URL-адреса первого типа подключение JDBC всегда производится через TCP/IP.
Во всех примерах этой главы будет использоваться URL-адрес jdbc:postgresql:// localhost/booktown — мы подключаемся к базе данных booktown на хосте local host. Давайте попробуем объединить все, о чем говорилось в этой главе, и подключиться к базе данных. В листинге 12.2 приведена простая программа Java, открывающая подключение JDBC к базе данных booktown.