Соединения с базами в Spring JDBC

downloadКогда начинаешь писать приложение, работающее с или JDBC, возникает вопрос — вроде бы понятно, как обращаться к базе, как делать запросы, как получать данные и т.д. Но почти нигде не сказано как настраивать соединение с базой данных.  Я б хотел исправить это упущение.

Встраиваемые базы данных

Spring имеет собственную поддержку для встраиваемых баз данных, котоыре создаются в памяти на время существования контекста. На этом его поддержка заканчивается и если от встраивемой базы данных требуется большее время жизни или, например, обращение из нескольких процессов, настраивать соединение с ней надо вручную.

Артефакт драйвера и самой базы:

Варианты создания DataSource:

В первом случае создаётся база в памяти процесса, во втором открывается база данных /database на диске.

Артефакт драйвера и самой базы:

Варианты создания DataSource:

В первом случае создаётся база в памяти процесса, во втором открывается база данных /database на диске.

Apache

Варианты создания DataSource:
В первом случае создаётся база в памяти процесса, во втором открывается база данных /database на диске.

Артефакт драйвера:

DataSource, который ожидает найти MySQL на локальной машине, соединяется с базой test, используя имя пользователя user и пароль password:

Артефакт драйвера:

DataSource, который ожидает найти PostgreSQL на локальной машине, соединяется с базой test, используя имя пользователя user и пароль password:

MS SQL и Sybase ASE

Артефакт драйвера:

DataSource, который ожидает найти на сервере MS_SERVER, соединяется с базой test, используя имя пользователя user и пароль password в домене testDomain:

IDB

Увы, драйвер IBM DB2 не распространяется через публичные репозитории. Его можно скачать вручную с сайта IBM.

DataSource, который ожидает найти IBM DB2 на локальной машине и соединяется используя имя пользователя user и пароль password:

Oracle

Артефакт драйвера:

DataSource, который ожидает найти Oracle database на локальной машине и соединяется используя имя пользователя user и пароль password:

Версии драйверов были верны на момент написания статьи, но в будущем наверняка изменятся.