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