Подключение к PostgreSQL из Tomcat

Home » Подключение к PostgreSQL из Tomcat

Шаг 1. Установка драйвера
Этот шаг – самый простой.
Для начала скачаем драйвер с сайта Postgresql, для этого смотрим нашу весрию JDK
java -version
и подбираем соответствующий драйвер из списка и качаем его в папку lib
cd /usr/share/ourtomcatdir/lib
wget https://jdbc.postgresql.org/download/postgresql-9.4-1206-jdbc42.jar
Шаг 2. Подключение драйвера к приложению как ресурса(обычно это делается сборщиками проекта, но если это невозможно, это можно сделать с помощью способа, указанного ниже)
О драйвере можно заявить с помощью Class.forName

В нашем случае потребуется специальная конструкция с исключением, непосредственно перед самим подключением к БД, с указанием драйвера

try {
Class.forName(“org.postgresql.Driver”); //загружаем драйвер
} catch(ClassNotFoundException e) {
e.printStackTrace();
}

conn = DriverManager.getConnection(url, user, password); //Подключаемся к базе данных

Принцип работы Class.forName[..] следующий. Данный класс загружает в память драйвер. (Это необходимо, если по адресу CLASSPATH нет соответствующего org.postgresql.Driver класса)

Метод forName выполняет все статическое содержание класса
(статистическое содержимое класса синтаксически выделяется ключевым словом static (static {}))
Любой JDBC драйвер должен иметь статичный инициализатор.

например:
public class PostgresqlJdbcDriver implements java.sql.Driver {
static {
java.sql.DriverManager.registerDriver(new PostgresqlJdbcDriver());
}

}

Выражение Class.forName(“jdbc.odbc.JdbcOdbcDriver”); в нашем случае может быть равносильно: new jdbc.odbc.JdbcOdbcDriver();

Источники:

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=2691&lngWId=2#SECTION0
http://forum.vingrad.ru/forum/topic-38343.html