Java Database Connectivity
JDBC (Java DataBase Connectivity — соединение с базами данных на Java) — платформенно-независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД, реализованный в виде пакета java.sql
, входящего в состав Java SE.
JDBC основана на концепции так называемых драйверов, позволяющих получать соединение с базой данных по специально описанному URL. Драйверы могут загружаться динамически (во время работы программы). Загрузившись, драйвер сам регистрирует себя и вызывается автоматически, когда программа требует URL, содержащий протокол, за который драйвер «отвечает».
JDBC API содержит два основных типа интерфейсов: первый - для разработчиков приложений и второй (более низкого уровня) - для разработчиков драйверов.
Соединение с базой данных описывается классом, реализующим интерфейс java.sql.Connection
.
Имея соединение с базой данных, можно создавать объекты типа Statement, служащие для исполнения запросов к базе данных на языке SQL.
Существуют следующие виды типов Statement, различающихся по назначению:
java.sql.Statement
— Statement общего назначения;java.sql.PreparedStatement
— Statement, служащий для выполнения запросов, содержащих подставляемые параметры (обозначаются символом '?' в теле запроса);java.sql.CallableStatement
— Statement, предназначенный для вызова хранимых процедур.
Интерфейс java.sql.ResultSet
позволяет легко обрабатывать результаты запроса.
Преимущества JDBC:
- Лёгкость разработки: разработчик может не знать специфики базы данных, с которой работает;
- Код не меняется, если компания переходит на другую базу данных;
- Не нужно устанавливать громоздкую клиентскую программу;
- К любой базе можно подсоединиться через легко описываемый URL.
Пример кода
Данный пример использует jTDS, свободный драйвер JDBC для Microsoft SQL Server и Sybase ASE SQL-Server. Подключиться к этой и другим СУБД можно и встроенными средствами с помощью драйвера JDBC для ODBC, но ценой замедления работы.
/**
* эта строка указывает альтернативный драйвер DB. Например hsql.
*/
// Class.forName("org.hsqldb.jdbcDriver");
Connection conn = DriverManager.getConnection(
"jdbc:jtds:sqlserver://SERVER/Northwind;instance=INST;domain=Sample_NTLM_Domain",
"user", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT LastName + ' ' + FirstName AS FullName, Address FROM Employees");
while(rs.next())
{
System.out.println(rs.getString("FullName") + "\t" + rs.getString("Address"));
}
rs.close();
stmt.close();
См. также
Ссылки
- Официальная страница JDBC (англ.)
- Учебник JDBC (англ.)
Базы данных |
|
---|---|
Концепции | Модель данных • Реляционные базы данных • Реляционная модель данных • Реляционная алгебра • Нормальная форма • Ссылочная целостность • Реляционная СУБД • Распределённые СУБД • ACID |
Ключи | Первичный ключ • Внешний ключ • Суррогатный ключ • Суперключ • Возможный ключ |
Объекты | Триггер • Представление • Таблица • Курсор • Журнализация изменений • Транзакция • Индекс • Хранимая процедура • Секционирование |
SQL | SELECT • INSERT • UPDATE • MERGE • DELETE • JOIN • UNION • CREATE • ALTER • DROP • COMMIT • ROLLBACK |
Типы реализаций | Иерархическая • Сетевая • Реляционная • Объектно-ориентированная |
Реализации СУБД | DB2 • Firebird • PostgreSQL • MS SQL Server • MySQL • Oracle • SQLite |
Компоненты | Язык запросов • Оптимизатор запросов • План выполнения запроса • ODBC • JDBC |
ca:Java Database Connectivity cs:Java Database Connectivity da:JDBC de:Java Database Connectivity el:JDBC en:Java Database Connectivity es:Java Database Connectivity fi:Java Database Connectivity fr:Java database connectivity hu:Java Database Connectivity it:JDBC ja:JDBC ko:JDBC nl:Java DataBase Connectivity no:JDBC pl:Java DataBase Connectivity pt:JDBC sv:JDBC th:JDBC uk:Java Database Connectivity vi:Java Dabase Connectivity zh:Java数据库连接
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....