JDBC
Скриншот программы JDBC
Тип Data Access API
Написана на Java
Дата выпуска 19 февраля 1997
Аппаратная платформа Java Virtual Machine
Последняя версия JDBC 4.3 (21 сентября 2017)
Сайт Java SE 8
Логотип Викисклада Медиафайлы на Викискладе

JDBC (англ. Java DataBase Connectivity — соединение с базами данных на Java) — платформенно независимый промышленный стандарт взаимодействия Java-приложений с различными СУБД, реализованный в виде пакета java.sql, входящего в состав Java SE.

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

История

править

Sun Microsystems выпустила JDBC как часть JDK 1.1 19 февраля 1997 года[1]. С тех пор он является частью J2SE. Классы JDBC находятся в пакетах java.sql и javax.sql. Начиная с версии 3.1, JDBC разрабатывался в рамках Java Community Process (JCP), который включает в себя стандартизованные спецификации для Java-разработчиков.

Интерфейсы

править

JDBC API содержит два основных типа интерфейсов: первый – для разработчиков приложений и второй (более низкого уровня) – для разработчиков драйверов.

Соединение с базой данных описывается классом, реализующим интерфейс java.sql.Connection. Имея соединение с базой данных, можно создавать объекты типа Statement, служащие для исполнения запросов к базе данных на языке SQL.

Существуют следующие виды типов Statement, различающихся по назначению:

  • java.sql.Statement — Statement общего назначения;
  • java.sql.PreparedStatement — Statement, служащий для выполнения запросов, содержащих подставляемые параметры (обозначаются символом '?' в теле запроса);
  • java.sql.CallableStatement — Statement, предназначенный для вызова хранимых процедур.

Интерфейс java.sql.ResultSet позволяет легко обрабатывать результаты запроса.

Преимущества

править

Преимуществами JDBC считают:

  • Лёгкость разработки: разработчик может не знать специфики базы данных, с которой работает
  • Код практически не меняется, если компания переходит на другую базу данных (количество изменений зависит исключительно от различий между диалектами SQL)
  • Не нужно устанавливать громоздкую клиентскую программу
  • К любой базе можно подсоединиться через легко описываемый URL

Примеры

править

Пример кода

JDBC для MySQL
Данный пример использует свободный драйвер JDBC для MySQL, который легко устанавливается в большинстве дистрибутивов Linux через стандартные репозитории.
package javaapplication1;
import java.sql.*;

public class Main {

    public static void main(String[] args) throws SQLException {
        /**
         * эта строка загружает драйвер DB.
         * раскомментируйте если прописываете драйвер вручную
         */
        //Class.forName("com.mysql.jdbc.Driver");
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(
            "jdbc:mysql://localhost:3306/db_name",
            "user", "password");

            if (conn == null) {
                System.out.println("Нет соединения с БД!");
                System.exit(0);
            }
            
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM users");
    
            while (rs.next()) {
                System.out.println(rs.getRow() + ". " + rs.getString("firstname")
                        + "\t" + rs.getString("lastname"));
            }
    
            /**
             * stmt.close();
             * При закрытии Statement автоматически закрываются
             * все связанные с ним открытые объекты ResultSet
             */
            stmt.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        } finally{
            if (conn != null){
                conn.close();
            }
        }
    }
}

Примечания

править
  1. Спецификация JDBC 3.0. www.sun.com. Sun Microsystems. Архивировано из оригинала 24 июня 2012 года.

Ссылки

править

📚 Artikel Terkait di Wikipedia

ODBC

ODBC (англ. Open Database Connectivity) — программный интерфейс (API) доступа к базам данных, разработанный компанией Microsoft в сотрудничестве с Simba

Java Platform, Standard Edition

пользовательских интерфейсов, работы с изображениями, рисования. Java Database Connectivity Содержит набор графических компонентов, позволяющих создавать

Список Java API

три типа Java API: официальный основной Java API, содержащийся в JDK или JRE, в одном из вариантов Java. Три варианта платформы Java: Java ME (Micro

Пакет (Java)

средство языка программирования Java, позволяющее организовывать классы в пространства имён, аналогично модулям в Модуле. Java-пакеты могут содержаться в сжатом

Apache Spark

интерфейсы для языков Java, Scala, Python, R. Изначально написан на Scala, впоследствии добавлена существенная часть кода на Java для предоставления возможности

История версий Java EE

(EJB) 1.1 Java Message Service API (JMS) 1.0 Java Transaction API (JTA) 1.0 JavaMail API 1.1 JavaBeans Activation Framework[англ.] (JAF) 1.0 JavaTM 2 Enterprise

Spring Roo

реализации JPA) Java Bean Validation (JSR 303) (включая Hibernate Validator) Java Database Connectivity (для использования JPA) Java Message Service (интерфейс

Perl DBI

аналогичный интерфейс, который называется PHP Data Objects (PDO). Java Database Connectivity (JDBC) также аналогичен DBI по своему функционалу. dbi.perl.org