Содержание
- 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.
Об обеспечении технологической реализации межведомственного электронного взаимодействия при оказании муниципальных услуг орга
Вода знакомая и загадочная
Великобритания Англия
«Аномальное» расплывание импульса и «сверхнаправленность» излучения дипольных антенн в плазме
Живопись Раннего Возрождения
Презентация на тему Правописание причастий
Презентация на тему Задачи на построение
Повышение уровня безопасности многотопливной заправочной станции
Охрана вод
Интелект-карты
Обряды и традиции казаков
Популяризация футбола на территории города Тюмени и Тюменской области
Презентация на тему "Любовь земная" и "любовь небесная" в повести И.С. Тургенева "Вешние воды"
Как эффективно использовать сервисы Веб 2.0 для создания учебного проекта?
Mexico, 1982 Paving the Way with Exceptions
Максим Горький
Воля, эмоции, внимание Темперамент
Лабораторная диагностика нарушений липидного обмена
Безопасность вашей цифровой трансформации
Стоматологическое просвещение. Методы оценки эффективности стоматологического просвещения.
Генеалогическое древо. Шаблон
Выбора оптимального налогового режима
Стандарт работы ТП Торговый Дом Молочные горки
Учет движения товаров. Приходные и расходные товарные операции
Природные явления
Летний отдых осень желтая сменила, с математикой пора прощанья наступила
Презентация на тему Шляпы
Образ Катерины