Лабораторная работа №4

Работа с источниками данных в языке Java

Цель лабораторной работы:
  1. Изучить основные концепции работы с технологией JDBC.
  2. Изучить приемы программирования с использованием JDBC.
Время для выполнения:  

1. Теоретические сведения

Краткие теоретические сведения про технологию JDBC можно по этой ссылке .

Более глубокие сведения про работу с серверами БД с помощью технологии JDBC можно посмотреть здесь (pdf, 646 kb, 13 стр.) .

2. Пример и технические моменты

Для разработки программы нам понадобится jdbc-коннектор для сервера MySQL, который можно скачать здесь (mysql-connector-java-5.1.23.zip), или с официального сайта Oracle.

Для выполнения даного задания в сети на сервере с именем kit.znu.edu.ua (на нем стоит MySQL сервер версии 5.6) создана База данных с именем mpes. Для доступа к этой БД необходимо воспользоваться именем пользователя user39 (пароль: user39).

Поскольку, в одной БД таблицы не могут иметь одинакового имени, то договоримся к имени таблицы добавлять префикс ваши-инициалы-латинницей_, например mvo_example_table.

Таблица mvo_example_table имеет структуру:

CREATE TABLE `mvo_example_table` (
`id_example_table` int(11) NOT NULL AUTO_INCREMENT,
`text_field` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id_example_table`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

Ниже представлен пример программы для коннекта к БД и выборки из указанной таблицы.

package jdbcexample;

import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class JdbcExample {

    public static void main(String[] args) {
       String cls = "com.mysql.jdbc.Driver";
       String url = "jdbc:mysql://kit.znu.edu.ua/mpes";
       String un  = "user39";
       String  psw = "user39";
        try {
            Class.forName(cls);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(JdbcExample.class.getName()).log(Level.SEVERE, null, ex);
        }
        Connection conn = null;
        try {
            conn =(Connection) DriverManager.getConnection(url,un, psw);
        } catch (SQLException ex) {
            Logger.getLogger(JdbcExample.class.getName()).log(Level.SEVERE, null, ex);
        }
       String selectTableSQL = "SELECT * from MVO_EXAMPLE_TABLE";
       Statement stmnt;
       ResultSet rs;
       try {
            stmnt= (Statement) conn.createStatement();
            rs=stmnt.executeQuery(selectTableSQL);
         while (rs.next()) {
            Integer id = rs.getInt("ID_EXAMPLE_TABLE");
            String info = rs.getString("TEXT_FIELD");
            System.out.print("id: " + id);
            System.out.println(", info: " + info);
         }
        } catch (SQLException e) {
    System.out.println(e.getMessage());
}
    }
}

Результат выполнения программы (в среде NetBeans):

run:
id: 1, info: Информация из поля 1
id: 2, info: Информация из поля 2
СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 1 секунда)

Проект программы (для среды NetBeans) можно скачать по этой ссылке. После распаковывания проекта (в директорию jdbcExample), в параллельно находящуюся на диске папку lib необходимо скопировать jar файл с библиотекой - jdbc-коннектором для MySQL (mysql-connector-java-5.1.23-bin.jar).

2A. Технические моменты

Если сервер с именем kit.znu.edu.ua или по адресу 10.1.100.39 недоступен, можно "запустить" и использовать SQL сервер на Вашей рабочей станции. Для этого выполните следующее:
1. Скопируйте архив в любую директорию Вашей рабочей станции
(https://moodle.znu.edu.ua/mod/url/view.php?id=552887).
2. Разархивируйте содержимое в
D:\mysql 
    Внимание!
 У Вас в папке  D:\mysql  должны появиться папки и файлы:

 Фрагмент Содержимое папки D:\mysql
12.11.2019 12:39 <DIR> $_bat_sql
21.12.2018 13:27 <DIR> bin
21.12.2018 12:39 17 987 COPYING
12.11.2019 13:22 <DIR> data
10.10.2019 13:32 <DIR> docs
27.03.2019 13:37 <DIR> files
21.12.2018 13:27 <DIR> include
21.12.2018 13:27 <DIR> lib
28.03.2019 11:16 <DIR> logs
 

3. "Перейдите" в $_bat_sql
4. Читайте файл "читать.txt" и используйте процедуры для запуска и работы с "локальным" сервером...
5. В папке DBF_znu расположены примеры программ и процедуры компиляции и выполнения.

ВНИМАНИЕ! Если архивы по указанным выше ссылкам не доступны -
перейдите на страницу АРХИВЫ_к_КУРСУ на странице СЕЗН Мудула.

3. Задание на лабораторную работу

Задание.

В каждом из заданий необходимо выполнить следующие действия:

Условие Задания согласно варианта можно посмотреть здесь .

3. Отчет

Должен содержать: постановку задачи, программный код решения, результат работы написанной программы