Java Database Connectivity

Java DataBase Connectivity, сокращенно JDBC — соединение с базами данных на JavaAPI для языка Java, который определяет методы, с помощью которых клиентское приложение на Java осуществляет доступ к базе данных, независимо от того какая это база данных и как она имплементирована. Если быть точным, то JDBC является торговой маркой, а не аббревиатурой.

JDBC является частью стандартной версии Java и находится в пакете java.sql.

JDBC основана на концепции т. н. драйверов, позволяющих получать соединение с базой данных по специально описанному URL. Драйверы могут загружаться динамически (во время работы программы). Загрузившись, драйвер сам регистрирует себя и вызывается автоматически, когда программа требует URL, содержащий протокол, за который драйвер «отвечает».

Соединение с базой данных описывается классом, реализующим интерфейс 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 SQL Server. Подключиться к этой и другим СУБД можно и встроенными средствами с помощью драйвера JDBC для ODBC, но ценой замедления работы.

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();

См. также

Ссылки

 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home