Содержание
- 2. JDBC – программный пакет для работы с БД Базы данных: учебный курс Схема работы с БД
- 3. JDBC – программный пакет для работы с БД Базы данных: учебный курс Пример программы import java.sql.*;
- 4. JDBC – программный пакет для работы с БД Базы данных: учебный курс Загрузка драйвера и установление
- 5. JDBC – программный пакет для работы с БД Базы данных: учебный курс Интерфейс Connection Создание «предложений»
- 6. JDBC – программный пакет для работы с БД Базы данных: учебный курс Создаем в базе данных
- 7. JDBC – программный пакет для работы с БД Базы данных: учебный курс Параметризованные SQL-предложения Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); try
- 8. JDBC – программный пакет для работы с БД Базы данных: учебный курс Получение данных с помощью
- 9. JDBC – программный пакет для работы с БД Базы данных: учебный курс Исследование полученных данных private
- 10. JDBC – программный пакет для работы с БД Базы данных: учебный курс Какую еще информацию можно
- 11. JDBC – программный пакет для работы с БД Базы данных: учебный курс Работа с курсором: изменение,
- 12. JDBC – программный пакет для работы с БД Базы данных: учебный курс Если курсор перемещаемый (TYPE_SCROLL_SENSITIVE),
- 13. JDBC – программный пакет для работы с БД Базы данных: учебный курс Если курсор «заменяемый» (TYPE_CONCUR_UPDATEABLE),
- 15. Скачать презентацию
Слайд 2JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Схема работы
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Схема работы

Загрузить класс(ы), реализующие необходимые драйверы
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Установить соединение с БД, используя загруженный драйвер
DriverManager.getConnection("jdbc:odbc:dsn");
Создать объект(ы) для исполнения SQL-команд
connection.createStatement();
Исполнять необходимые SQL-команды
stmt.executeUpdate("Delete From MyTable Where Id=1");
stmt.executeQuery("Select * From MyTable");
Обрабатывать полученные таблицы
result.getString("fieldName");
Закрыть открытые соединения
connection.close();
Слайд 3JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Пример программы
import
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Пример программы
import

public static void main(String[] args) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:dsn");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("Select * From positions");
while (rs.next()) {
String s = rs.getString("name");
System.out.println("Position name = " + s);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
try { conn.close(); } catch (SQLException e) {}
}
Слайд 4JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Загрузка драйвера
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Загрузка драйвера

При загрузке класса драйвера он регистрируется в DriverManager.
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
com.mysql.jdbc.Driver.class;
import com.microsoft.jdbc.sqlserver.*;
Driver driver = new SQLServerDriver();
Установить соединение с БД можно, используя менеджер
Connection conn =
DriverManager.getConnection("jdbc:odbc:dsn");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test","root","root");
Properties props = new Properties();
props.put("user", "admin");
props.put("password", "myPwd");
Connection conn = driver.connect(
"jdbc:microsoft:sqlserver://localhost:1433" , props);
Слайд 5JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Интерфейс Connection
Создание
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Интерфейс Connection
Создание

Работа с транзакциями connection.setAutoCommit(false); connection.commit(); connection.rollback();
Закрытие соединения connection.close();
Слайд 6JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Создаем в
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Создаем в

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
try {
Connection conn = DriverManager.getConnection(
"jdbc:odbc:projects");
Statement stmt = conn.createStatement();
String createTable = "CREATE TABLE roles (“ +
"Sortorder INTEGER, Name VARCHAR, PRIMARY KEY (Sortorder))“;
stmt.executeUpdate(createTable);
String insertData1 = "INSERT INTO roles (Sortorder, Name) " +
"VALUES(10, 'Project Leader')“;
String insertData2 = "INSERT INTO roles (Sortorder, Name) " +
"VALUES(20, 'Developer')";
stmt.executeUpdate(insertData1);
stmt.executeUpdate(insertData2);
conn.close();
} catch (SQLException x) {
x.printStackTrace();
}
Слайд 7JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Параметризованные SQL-предложения
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
try
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Параметризованные SQL-предложения
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
try

Connection conn = DriverManager.getConnection(
"jdbc:odbc:projects");
String insertData = "INSERT INTO roles (Sortorder, Name) " +
"VALUES(?, ?)";
PreparedStatement stmt = conn.prepareStatement(insertData);
stmt.setInt(1, 30);
stmt.setString (2, "QA Engineer");
stmt.executeUpdate();
conn.close();
} catch (SQLException x) {
x.printStackTrace();
}
Слайд 8JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Получение данных
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Получение данных

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
try {
Connection conn = DriverManager.getConnection(
"jdbc:odbc:projects");
String selectData = "SELECT Name, Salary FROM positions";
Statement stmt = conn.createStatement(selectData);
ResultSet rs = stmt.executeQuery();
System.out.println("Name\tSalary");
System.out.println("-----------------------");
while (rs.next()) {
String name = rs.getString("Name");
int salary = rs.getInt("Salary");
System.out.println(name + '\t'
}
conn.close();
} catch (SQLException x) {
x.printStackTrace();
}
Слайд 9JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Исследование полученных
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Исследование полученных

private static void printTable(Connection conn, String sql) {
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int colCount = rsmd.getColumnCount();
for (int i = 1; i <= colCount; ++i) {
System.out.print(rsmd.getColumnName(i) + '\t');
}
System.out.println(); System.out.println("--------------");
while(rs.next()) {
for (int i = 1; i <= colCount; ++i) {
System.out.print("" + rs.getObject(i) + '\t');
}
System.out.println();
}
} catch(SQLException x) {
System.out.println("Couldn't print table: " + x.getMessage());
}
}
Слайд 10JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Какую еще
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Какую еще

ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
String fieldName = rsmd.getColumnName(i);
int type = rsmd.getColumnType(i);
// Types.VARCHAR, Types.INTEGER,...
String typeName = rsmd.getColumnTypeName(i);
// Как его возвращает драйвер БД, например "counter".
String className = rsmd.getColumnClassName(i);
// С точки зрения языка Java, например, "java.math.BigDecimal".
boolean curr = rsmd.isCurrency(i);
int nullable = rsmd.isNullable(i);
// columnNullable, columnNoNulls, columnNullableUnknown
Можно также получать метаданные о таблице, самой базе данных,…
DatabaseMetaData md = conn.getMetaData();
int maxRowSize = md.getMaxRowSize();
ResultSet metaRs = md.getTables(catalog, schema, tabName, types);
Слайд 11JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Работа с
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Работа с

// Увеличиваем все зарплаты на 10 процентов
private static void updateSalaries(Connection conn) {
try {
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE, // Можно перемещать
ResultSet.CONCUR_UPDATABLE); // Можно изменять данные
ResultSet rs = stmt.executeQuery("Select * From positions");
while (rs.next()) {
rs.updateInt("Salary", (int)(rs.getInt("Salary") * 1.1));
rs.updateRow();
}
} catch (SQLException x) {
x.printStackTrace();
}
}
// Конечно, того же эффекта можно было бы добиться,
// просто исполнив предложение
// UPDATE positions SET Salary = Salary * 1.1
Слайд 12JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Если курсор
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Если курсор

то с ним можно выполнять следующие действия:
ResultSet rs = ...;
rs.absolute(1);
rs.beforeFirst();
rs.afterLast();
rs.first();
rs.last();
rs.next()
rs.previous();
rs.relative(-5);
Если курсор перемещаемый только вперед (TYPE_FORWARD_ONLY),
то с ним можно выполнять только next()
Слайд 13JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Если курсор
JDBC – программный пакет для работы с БД
Базы данных: учебный курс
Если курсор

то можно заменять, добавлять и удалять данные:
// Замена
rs.updateInt(column, newData);
... // другие изменения в текущей записи
rs.updateRow();
// Добавление
rs.updateString(column, newData);
... // другие добавления в запись
rs.insertRow();
// Удаление
rs.deleteRow();
Если SELECT-предложение сложное, то может быть, данные невозможно
будет изменить, даже несмотря на то, что курсор UPDATEABLE.
Практика освоения в условиях кризиса европейских инновационных технологий в легкой промышленности – на примере производства
Электронная математическая газета Анисовка-Сити
Разработка предпринимательской идеи
Формирование мотивации с учетом результатов диагностики
Оборудование литейного производства и технологии отливки заготовок
Аварийно-спасательные работы
Маме посвящается…
Healthy lifestyle. Your choice
Eastern cousine
Презентация на тему ЮПИТЕР
Система подготовки интерактивных графических схем«Seamatica-SE»
Програми-передумови системи НАССР. Загальні гігієнічні вимоги щодо поводження з харчовими продуктами
Время не властно!
Основы воинской службы (ОВС)
Операционные блоки цифровых устройств. Принципы работы и основные характеристики (лекция 4)
Капнография
Правовой аспект экологического воспитания студентов колледжа.
Презентация на тему Метод проектов как одно из средств развития познавательной активности детей дошкольного возраста
Презентация на тему Исковая давность
Сочинение по картине Б.М.Кустодиева «Масленица»
С Днем рождения
Конституция Российской Федерации для детей с поправками 2020 года
Пётр Андреевич Вяземский (1)
СКР “Неустрашимый”
«Окрылённые призванием…»
Досрочное прекращение правовой охраны товарного знака в связи с его неиспользованием
Initial Public Offering. Шаблон
Технологический процесс