Содержание
- 2. 2014 © EPAM Systems, RD Dep. Содержание Что такое JDBC Модели доступа к БД Компоненты JDBC
- 3. ЧТО ТАКОЕ JDBC 2014 © EPAM Systems, RD Dep.
- 4. Что такое JDBC JDBC - это прикладной программный интерфейс (API) Java для выполнения SQL-запросов. JDBC предоставляет
- 5. Что такое JDBC Основные интерфейсы и классы JDBC 2014 © EPAM Systems, RD Dep. Что может
- 6. Что такое JDBC Использование JDBC API избавляет от необходимости для каждой СУБД (Informix, Oracle и т.д.)
- 7. Что такое JDBC 2014 © EPAM Systems, RD Dep. Версии JDBC.
- 8. МОДЕЛИ ДОСТУПА К БД 2014 © EPAM Systems, RD Dep.
- 9. Модели доступа к БД В двухзвенной модели приложение или апплет на языке Java обращается непосредсвенно к
- 10. Модели доступа к БД В трехзвенной модели команды поступают в т.н. сервис среднего звена, который отсылает
- 11. ТИПЫ ДРАЙВЕРОВ 2011 © EPAM Systems, RD Dep.
- 12. Типы драйверов Компоненты JDBC Driver Manager предоставляет средства для управления набором драйверов баз данных предназначен для
- 13. Типы драйверов Компоненты JDBC Запрос SQL запрос на выборку или изменение данных Результат Логическое множество строк
- 14. Типы драйверов Типы драйверов Мост JDBC-ODBC + драйвер ODBC Нативный-API / частичный Java драйвер Сетевой протокол
- 15. Типы драйверов Мост JDBC-ODBC Драйверы 1-го типа транслируют все вызовы JDBC в вызовы ODBC (Open Database
- 16. Типы драйверов Нативный-API/частичный Java драйвер JDBC драйвер 2-го типа - нативный-API/частичный Java драйвер – переводит вызовы
- 17. Типы драйверов Сетевой протокол/«чистый» Java драйвер JDBC драйвер 3 типа – сетевой протокол/«чистый» Java драйвер –
- 18. Типы драйверов Нативный протокол/«чистый» Java драйвер Нативный протокол/«чистый» Java драйвер (JDBC драйвер 4-го типа) конвертирует вызовы
- 19. ИСПОЛЬЗОВАНИЕ JDBC 2014 © EPAM Systems, RD Dep.
- 20. Использование JDBC Последовательность действий: Загрузка класса драйвера базы данных. Установка соединения с БД. Создание объекта для
- 21. ЗАГРУЗКА ДРАЙВЕРА БАЗЫ ДАННЫХ 2014 © EPAM Systems, RD Dep.
- 22. Загрузка драйвера базы данных Загрузка класса драйвера базы данных: в общем виде: для MySQL: для JDBC-ODBC
- 23. Загрузка драйвера базы данных В общем драйверы JDBC можно зарегистрировать с помощью системных свойств Java или
- 24. Загрузка драйвера базы данных Пользователь может пропустить этот управляющий уровень JDBC и вызывать непосредственно методы класса
- 25. УСТАНОВЛЕНИЕ СВЯЗИ С БД 2014 © EPAM Systems, RD Dep.
- 26. Установление связи с БД Объект Connection представляет собой соединение с БД. Сессия соединения включает в себя
- 27. Установление связи с БД Вызов метода стандартный способ получения соединения Методу передается строка, содержащая "URL". Класс
- 28. Установление связи с БД 2014 © EPAM Systems, RD Dep. … import java.sql.Connection; import java.sql.DriverManager; import
- 29. Установление связи с БД JDBC-URL (Uniform Resource Locator) Стандартный синтаксис JDBC URL: jdbc - протокол. Протокол,
- 30. Установление связи с БД Разработчик драйвера резервирует имя подпротокола в JDBC-URL. Когда класс DriverManager "показывает" это
- 31. ВЫПОЛНЕНИЕ SQL-ЗАПРОСОВ 2014 © EPAM Systems, RD Dep.
- 32. Выполнение SQL-запросов В JDBC есть три класса для отправления SQL-запросов в БД и три метода в
- 33. STATEMENT 2014 © EPAM Systems, RD Dep.
- 34. Statement Метод createStatement используется для простых SQL-выражений (без параметров). 2014 © EPAM Systems, RD Dep. …
- 35. Statement 2014 © EPAM Systems, RD Dep. rs = st.executeQuery("SELECT * FROM STUDENTS"); while (rs.next()) {
- 36. Statement 2014 © EPAM Systems, RD Dep. … Connection con = null; Statement st = null;
- 37. Statement Метод executeUpdate возвращает количество строк, полученных в результате выполнения SQL-команды. может применяться для выполнения команд
- 38. RESULTSET 2014 © EPAM Systems, RD Dep.
- 39. ResultSet Метод executeQuery возвращает объект типа ResultSet с построчными результатами выполнения запроса. Для построчного анализа результатов
- 40. ResultSet При обработке отдельной строки нужно с помощью специальных методов получить содержимое каждого столбца. Для каждого
- 41. ResultSet Для организации прокрутки результатов выполнения запроса необходимо получить объект Statement с помощью приведенного ниже способа.
- 42. ResultSet 2014 © EPAM Systems, RD Dep.
- 43. ResultSet Методы интерфейса ResultSet 2014 © EPAM Systems, RD Dep.
- 44. ResultSet Методы интерфейса ResultSet 2014 © EPAM Systems, RD Dep.
- 45. ResultSet При попытке перемещения курсора за пределы имеющегося результата выполнения запроса он располагается либо после последней,
- 46. ResultSet 2014 © EPAM Systems, RD Dep. Методы, используемые с обновляемым набором данных: Не все запросы
- 47. ResultSet 2014 © EPAM Systems, RD Dep. String query = "SELECT * FROM Books"; ResultSet rs
- 48. PREPARED STATEMENT 2014 © EPAM Systems, RD Dep.
- 49. PreparedStatement Метод prepareStatement используется для SQL-выражений с одним или более входным (IN-) параметром простых SQL-выражений, которые
- 50. PreparedStatement 2014 © EPAM Systems, RD Dep. public class ExecutePreparedStatement { public static void main(String[] args)
- 51. CALLABLE STATEMENT 2014 © EPAM Systems, RD Dep.
- 52. CallableStatement 2014 © EPAM Systems, RD Dep. DELIMITER // CREATE PROCEDURE calcstudents (OUT count INT) BEGIN
- 53. CallableStatement В терминологии JDBC, хранимая процедура - последовательность команд SQL, хранимых в БД и доступных любому
- 54. CallableStatement CallableStatement способен обрабатывать не только входные (IN) параметры, но и выходящие (OUT) и смешанные (INOUT)
- 55. CallableStatement 2014 © EPAM Systems, RD Dep. Connection con = null; CallableStatement cs = null; ResultSet
- 56. BATCH-КОМАНДЫ 2014 © EPAM Systems, RD Dep.
- 57. Batch-команды Механизм batch-команд позволяет запускать на исполнение в БД массив запросов SQL вместе, как одну единицу.
- 58. ЗАКТРЫТИЕ RESULTSET, STATEMENT И CONNECTION 2014 © EPAM Systems, RD Dep.
- 59. Закрытие ResultSet, Statement и Connection По окончании использования необходимо последовательно вызвать метод close() для объектов ResultSet,
- 60. CONECTION POOL 2014 © EPAM Systems, RD Dep.
- 61. Connection Pool 2014 © EPAM Systems, RD Dep. db.driver = oracle.jdbc.driver.OracleDriver db.url = jdbc:oracle:thin:@127.0.0.1:1521:xe db.user =
- 62. Connection Pool 2014 © EPAM Systems, RD Dep. public class DBResourceManager { private final static DBResourceManager
- 63. Connection Pool 2014 © EPAM Systems, RD Dep. public final class DBParameter { public static final
- 64. Connection Pool 2014 © EPAM Systems, RD Dep. public final class ConnectionPool { private BlockingQueue connectionQueue;
- 65. Connection Pool 2014 © EPAM Systems, RD Dep. public void initPoolData() throws ConnectionPoolException { Locale.setDefault(Locale.ENGLISH); try
- 66. Connection Pool 2014 © EPAM Systems, RD Dep. public void dispose() { clearConnectionQueue(); } private void
- 67. Connection Pool 2014 © EPAM Systems, RD Dep. public void closeConnection(Connection con, Statement st, ResultSet rs)
- 68. Connection Pool 2014 © EPAM Systems, RD Dep. private void closeConnectionsQueue(BlockingQueue queue) throws SQLException { Connection
- 69. Connection Pool 2014 © EPAM Systems, RD Dep. @Override public void close() throws SQLException { if
- 70. DATA ACCESS OBJECT (DAO) 2014 © EPAM Systems, RD Dep.
- 71. Data Access Object DAO управляет соединением с источником данных для получения и записи данных. Источником данных
- 72. Data Access Object Data Access Object 2014 © EPAM Systems, RD Dep.
- 73. Data Access Object Диаграмма последовательности действий паттерна Data Access Object 2014 © EPAM Systems, RD Dep.
- 74. Data Access Object Диаграмма классов при применении стратегии Factory for Data Access Objects 2014 © EPAM
- 75. Data Access Object Диаграмма последовательности действий для стратегии Factory for Data Access Objects, использующей Abstract Factory.
- 76. ТРАНЗАКЦИИ И ТОЧКИ СОХРАНЕНИЯ 2014 © EPAM Systems, RD Dep.
- 77. Транзакции и точки сохранения Транзакция состоит из одного или более выражений (действий), которые поле выполнения либо
- 78. Транзакции и точки сохранения Каждое новое соединение по умолчанию находится в режиме автофиксации (auto-commit), что означает
- 79. Транзакции и точки сохранения 2014 © EPAM Systems, RD Dep. Начиная с версии 3.0, JDBC поддерживает
- 80. Транзакции и точки сохранения 2014 © EPAM Systems, RD Dep. cn.setAutoCommit(false); … Statement st = cn.createStatement();
- 81. МЕТАДАННЫЕ 2014 © EPAM Systems, RD Dep.
- 82. Метаданные В языке SQL данные о структуре базы данных и ее составных частей называются метаданными (metadata),
- 83. Метаданные Интерфейс ResultSetMetaData позволяет узнать: Число колонок в результирующем наборе. Является ли NULL допустимым значением в
- 84. Метаданные 2014 © EPAM Systems, RD Dep. public class MetaDataResultSetExample { public static ResultSet executeSQL(){ …
- 85. Метаданные Получить объект DatabaseMetaData можно следующим образом: В результате из полученного объекта DatabaseMetaData можно извлечь: название
- 86. Метаданные 2014 © EPAM Systems, RD Dep. Connection con = null; Statement st = null; ResultSet
- 88. Скачать презентацию