<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Java_Database_Connectivity</id>
	<title>Java Database Connectivity - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Java_Database_Connectivity"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=Java_Database_Connectivity&amp;action=history"/>
	<updated>2026-07-16T23:59:07Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=Java_Database_Connectivity&amp;diff=44411&amp;oldid=prev</id>
		<title>imported&gt;Alex NB OT: унификация языковых шаблонов</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=Java_Database_Connectivity&amp;diff=44411&amp;oldid=prev"/>
		<updated>2025-11-15T11:10:23Z</updated>

		<summary type="html">&lt;p&gt;унификация языковых шаблонов&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox software&lt;br /&gt;
| name = JDBC&lt;br /&gt;
| logo = &lt;br /&gt;
| caption = &lt;br /&gt;
| developer = &lt;br /&gt;
| первый выпуск = 19 февраля 1997&lt;br /&gt;
| latest_release_version = JDBC 4.3&lt;br /&gt;
| latest_release_date = 21 сентября 2017&lt;br /&gt;
| latest preview version = &lt;br /&gt;
| latest preview date = &lt;br /&gt;
| operating_system = &lt;br /&gt;
| genre = Data Access [[API]]&lt;br /&gt;
| license = &lt;br /&gt;
| website = {{Javadoc:SE-guide|jdbc|JDBC API Guide}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;JDBC&amp;#039;&amp;#039;&amp;#039; ({{lang-en|{{без курсива|Java DataBase Connectivity}}}} — &amp;#039;&amp;#039;соединение с базами данных на [[Java]]&amp;#039;&amp;#039;) — платформенно независимый промышленный стандарт взаимодействия Java-приложений с различными [[СУБД]], реализованный в виде пакета &amp;lt;code&amp;gt;java.sql&amp;lt;/code&amp;gt;, входящего в состав [[Java SE]].&lt;br /&gt;
&lt;br /&gt;
JDBC основан на концепции так называемых драйверов, позволяющих получать соединение с [[База данных|базой данных]] по специально описанному [[URL]]. Драйверы могут загружаться динамически (во время работы программы). Загрузившись, [[драйвер]] сам регистрирует себя и вызывается автоматически, когда программа требует [[URL]], содержащий протокол, за который драйвер отвечает.&lt;br /&gt;
&lt;br /&gt;
== История ==&lt;br /&gt;
&lt;br /&gt;
Sun Microsystems выпустила JDBC как часть [[Java Development Kit|JDK]] 1.1 19 февраля 1997 года&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite web&lt;br /&gt;
 |url         = http://java.cnam.fr/iagl/biblio/spec/jdbc-3_0-fr-spec.pdf&lt;br /&gt;
 |title       = Спецификация JDBC 3.0&lt;br /&gt;
 |work        = www.sun.com&lt;br /&gt;
 |publisher   = [[Sun Microsystems]]&lt;br /&gt;
 |archive-url  = https://www.webcitation.org/68etKAllc?url=http://java.cnam.fr/iagl/biblio/spec/jdbc-3_0-fr-spec.pdf&lt;br /&gt;
 |archive-date = 2012-06-24&lt;br /&gt;
 |url-status     = dead&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;. С тех пор он является частью [[Java Platform, Standard Edition|J2SE]].&lt;br /&gt;
Классы JDBC находятся в пакетах java.sql и javax.sql.&lt;br /&gt;
Начиная с версии 3.1, JDBC разрабатывался в рамках [[Java Community Process]] (JCP), который включает в себя стандартизованные спецификации для Java-разработчиков.&lt;br /&gt;
&lt;br /&gt;
== Интерфейсы ==&lt;br /&gt;
&lt;br /&gt;
JDBC [[API]] содержит два основных типа интерфейсов: первый – для разработчиков приложений и второй (более низкого уровня) – для разработчиков драйверов.&lt;br /&gt;
&lt;br /&gt;
Соединение с базой данных описывается классом, реализующим интерфейс &amp;lt;code&amp;gt;java.sql.Connection&amp;lt;/code&amp;gt;. Имея соединение с базой данных, можно создавать объекты типа Statement, служащие для исполнения запросов к базе данных на языке [[SQL]].&lt;br /&gt;
&lt;br /&gt;
Существуют следующие виды типов Statement, различающихся по назначению:&lt;br /&gt;
* &amp;lt;code&amp;gt;java.sql.Statement&amp;lt;/code&amp;gt; — Statement общего назначения;&lt;br /&gt;
* &amp;lt;code&amp;gt;java.sql.PreparedStatement&amp;lt;/code&amp;gt; — Statement, служащий для выполнения запросов, содержащих подставляемые параметры (обозначаются символом &amp;#039;?&amp;#039; в теле запроса);&lt;br /&gt;
* &amp;lt;code&amp;gt;java.sql.CallableStatement&amp;lt;/code&amp;gt; — Statement, предназначенный для вызова [[Хранимая процедура|хранимых процедур]].&lt;br /&gt;
&lt;br /&gt;
Интерфейс &amp;lt;code&amp;gt;java.sql.ResultSet&amp;lt;/code&amp;gt; позволяет легко обрабатывать результаты запроса.&lt;br /&gt;
&lt;br /&gt;
== Преимущества ==&lt;br /&gt;
&lt;br /&gt;
Преимуществами JDBC считают:&lt;br /&gt;
* Лёгкость разработки: разработчик может не знать специфики базы данных, с которой работает&lt;br /&gt;
* Код практически не меняется, если компания переходит на другую базу данных (количество изменений зависит исключительно от различий между диалектами SQL)&lt;br /&gt;
* Не нужно устанавливать громоздкую клиентскую программу&lt;br /&gt;
* К любой базе можно подсоединиться через легко описываемый [[URL]]&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&lt;br /&gt;
Пример кода&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wide collapsible&amp;quot;&lt;br /&gt;
!JDBC для MySQL&lt;br /&gt;
|-&lt;br /&gt;
|Данный пример использует [[свободное ПО|свободный]] драйвер JDBC для [[MySQL]], который легко устанавливается в большинстве [[дистрибутив Linux|дистрибутивов Linux]] через стандартные [[Репозиторий|репозитории]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
package javaapplication1;&lt;br /&gt;
import java.sql.*;&lt;br /&gt;
&lt;br /&gt;
public class Main {&lt;br /&gt;
&lt;br /&gt;
    public static void main(String[] args) throws SQLException {&lt;br /&gt;
        /**&lt;br /&gt;
         * эта строка загружает драйвер DB.&lt;br /&gt;
         * раскомментируйте если прописываете драйвер вручную&lt;br /&gt;
         */&lt;br /&gt;
        //Class.forName(&amp;quot;com.mysql.jdbc.Driver&amp;quot;);&lt;br /&gt;
        Connection conn = null;&lt;br /&gt;
        try {&lt;br /&gt;
            conn = DriverManager.getConnection(&lt;br /&gt;
            &amp;quot;jdbc:mysql://localhost:3306/db_name&amp;quot;,&lt;br /&gt;
            &amp;quot;user&amp;quot;, &amp;quot;password&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            if (conn == null) {&lt;br /&gt;
                System.out.println(&amp;quot;Нет соединения с БД!&amp;quot;);&lt;br /&gt;
                System.exit(0);&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            Statement stmt = conn.createStatement();&lt;br /&gt;
            ResultSet rs = stmt.executeQuery(&amp;quot;SELECT * FROM users&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
            while (rs.next()) {&lt;br /&gt;
                System.out.println(rs.getRow() + &amp;quot;. &amp;quot; + rs.getString(&amp;quot;firstname&amp;quot;)&lt;br /&gt;
                        + &amp;quot;\t&amp;quot; + rs.getString(&amp;quot;lastname&amp;quot;));&lt;br /&gt;
            }&lt;br /&gt;
    &lt;br /&gt;
            /**&lt;br /&gt;
             * stmt.close();&lt;br /&gt;
             * При закрытии Statement автоматически закрываются&lt;br /&gt;
             * все связанные с ним открытые объекты ResultSet&lt;br /&gt;
             */&lt;br /&gt;
            stmt.close();&lt;br /&gt;
        }&lt;br /&gt;
        catch (SQLException e) {&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
        } finally{&lt;br /&gt;
            if (conn != null){&lt;br /&gt;
                conn.close();&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{{clear}}&lt;br /&gt;
{| class=&amp;quot;wide collapsible collapsed&amp;quot;&lt;br /&gt;
!JDBC для Microsoft SQL Server&lt;br /&gt;
|-&lt;br /&gt;
|Данный пример использует [[jTDS]], [[свободное ПО|свободный]] драйвер JDBC для [[Microsoft SQL Server]] и [[Sybase|Sybase ASE SQL-Server]]. Подключиться к этой и другим СУБД можно и встроенными средствами с помощью драйвера JDBC для [[ODBC]], но ценой замедления работы.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * эта строка указывает альтернативный драйвер DB. Например hsql.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// Class.forName(&amp;quot;org.hsqldb.jdbcDriver&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Connection conn = DriverManager.getConnection(&lt;br /&gt;
    &amp;quot;jdbc:jtds:sqlserver://SERVER/Northwind;instance=INST;domain=Sample_NTLM_Domain&amp;quot;,&lt;br /&gt;
    &amp;quot;user&amp;quot;, &amp;quot;password&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Statement stmt = conn.createStatement();&lt;br /&gt;
ResultSet rs = stmt.executeQuery(&amp;quot;SELECT LastName + &amp;#039; &amp;#039; + FirstName AS FullName, Address FROM Employees&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
while(rs.next())&lt;br /&gt;
{&lt;br /&gt;
    System.out.println(rs.getString(&amp;quot;FullName&amp;quot;) + &amp;quot;\t&amp;quot; + rs.getString(&amp;quot;Address&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rs.close();&lt;br /&gt;
stmt.close();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{Примечания}}&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [http://www.intuit.ru/studies/courses/5/5/lecture/156?page=3 Взаимодействие с базой данных в Java-программах] {{ref|ru}}&lt;br /&gt;
* [http://java.sun.com/products/jdbc/overview.html Официальная страница JDBC] {{ref|en}}&lt;br /&gt;
* [http://java.sun.com/docs/books/tutorial/jdbc/index.html Учебник JDBC] {{ref|en}}&lt;br /&gt;
{{databases}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Java Enterprise Edition]]&lt;br /&gt;
[[Категория:Интерфейсы доступа к данным]]&lt;br /&gt;
[[Категория:Java API]]&lt;br /&gt;
[[Категория:Запросы на спецификацию Java]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Alex NB OT</name></author>
	</entry>
</feed>