На главную страницу
Форум txt.version   




Статья :: PostgreSQL Использование драйвера

Использование драйвера PostgreSQL

В этом разделе рассматривается использование встроенного драйвера JDBC PostgreSQL. Начните с включения пути к файлу postgresql.jar в переменную CLASSPATH. Для этого можно либо задать значение переменной среды CLASSPATH, либо передавать путь в командной строке исполняемого файла при каждом запуске приложения Java. Дополнительную информацию о настройке пути к классам можно найти в инструкциях разработчика вашей виртуальной машины Java.

Далее в процессе написания приложения Java необходимо обеспечить регистрацию класса Driver в программе. При прохождении через загрузчик классов Java класс Driver автоматически регистрируется в классе DriverManager; по этим данным JDBC узнает, какой вариант класса Driver должен использоваться при подключении к базе данных определенного типа. Например, при подключении к базе данных PostgreSQL должен использоваться класс драйвера PostgreSQL и т. д.

Чтобы класс Dri ver был зарегистрирован загрузчиком классов, можно выполнить поиск по имени, как в небольшом фрагменте 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():

}

Метод 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.

Листинг 12.2. Простое подключение JDBC

import Java.sql.DriverManager:

import Java.sql.Connection:

import Java.sql.SQLException;

public class Examplel {

public static void main(String[] argv) {

System.out.printlnC'Checking if Driver is registered with DriverManager."):

try {

Class.forNaraeC'org.postgresql .Driver"):

} catch (ClassNotFoundException cnfe) {

System. out. printlnt "Couldn't find the driver!");

System. out. println( "Let's print a stack trace, and exit."):

cnfe . pri ntStackTrace( ) ;

System.exit(l) ; }

System. out. pri ntln( "Registered the driver ok. so let's make a connection."):

Connection с = null :

try {

// Во втором и третьем аргументах передаются соответственно

// имя пользователя и пароль. Замените данными пользователя

// в своей системе.

с = DriverManager.getConnection("jdbc:postgresql ://localhost/booktown".

"username". "password");

} catch (SQLException se) {

System. out. printlnt "Couldn't connect: print out a stack trace and exit."):

se.printStackTrace() ;

System.exit(l): }

if (c != null)

System. out. printlnC'Hooray! We connected to the database!");

else .

System. out. printlnC'We should never get here.");

}

}

Далее при помощи объекта Connection выполняются любые операции с базой данных PostgreSQL

Обратите внимание на первые три строки листинга 12.2. В них три команды import импортируют классы, необходимые для регистрации драйвера в объекте DriverManager, а также для создания объектов Connection и SQLException. В общем случае команда импортирования, обеспечивающая доступ к классам JDBC, имеет следующий синтаксис (класс - имя класса, экземпляр которого вы хотите создать):

import java.sql .класс

Если вы не уверены в том, какие именно классы вам нужны, импортируйте все классы JDBC следующей командой:

import java.sql .*

Учтите, что импортирование всех классов JDBC означает большое количество непроизводительных затрат. Чтобы программа работала с максимальной эффективностью, следует ограничиваться только теми классами, которые действительно необходимы для работы приложения.



PostgreSQL Использование драйвера

страницы в данном разделе 
 PostgreSQL Глава 12. JDBC  PostgreSQL JDBC
 PostgreSQL Построение драйвера JDBC  PostgreSQL Использование драйвера
 PostgreSQL Использование JDBC  PostgreSQL Специфика использования JDBC


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста