Скачиваний:
3
Добавлен:
27.11.2024
Размер:
481.22 Кб
Скачать

АПРОБАЦИЯ

Балаковский инженерно-технологический институт — филиал федерального государственного автономного образовательного учреждения высшего профессионального образования

«Национальный исследовательский ядерный университет «МИФИ»

РАБОТА С БАЗАМИ ДАННЫХ НА ЯЗЫКЕ JAVA

Методические указания к выполнению практических работ по дисциплине

«Объектно-ориентированное программирование» для студентов всех форм обучения по направлению 09.03.02

Одобрено редакционно-издательским советом Балаковского инженерно-

технологического института

Балаково 2015

Цель работы: изучение основных принципов работы с базами данных средствами Java, применение основных операций: создание, чтение, изме-

нение и удаление.

Основные понятия

Для работы с базами данных подключают специализированную биб-

лиотеку классов для конкретной СУБД - ORACLE, MySQL и т.п. или ис-

пользуют интерфейс ODBC.

В обоих случаях применяется технология JDBC (Java Database Connectivity), представляющая собой программный интерфейс для выпол-

нения SQL-запросов к реляционным базам данных из Java-программ. Биб-

лиотека классов JDBC находится в пакете java.sql.

Для соединения с базой данных MySQL используется MySQL

Connector/J (http://dev.mysql.com/downloads/connector/j/). Этот файл нужно поместить в каталог расширений JRE, например, в C:\Program Files\Java\jre8\lib\ext.

Рассмотрим простой пример работы с СУБД MySQL. Консольное приложение печатает все фамилии из таблицы сотрудников.

Сначала подключим нужные пакеты. Из пакета MySQL достаточно подключить единственный класс - Driver.

import java.sql.*;

import com.mysql.jdbc.Driver;

import java.io.*;

В функции main определим переменную типа Connection. Объект

Connection нужен для создания соединения с базой данных.

Дальнейший код помещен в блок try, поскольку некоторые из ис-

пользуемых методов могут вызывать исключения.

Регистрируем драйвер с помощью статического метода registerDriver

класса DriverManager.

2

DriverManager.registerDriver(new

com.mysql.jdbc.Driver());

Создаем соединение с базой данных. Обратите внимание, мы не со-

здаем объект с помощью операции new. Метод getConnection сам создает объект и возвращает ссылку на него.

c = DriverManager.getConnection

("jdbc:mysql://localhost/mycross", "root", "");

Параметры метода getConnection:

1.Строка подключения:

jdbc:mysql - имя протокола подключения,

localhost - имя хоста,

mycross - имя базы данных.

2.Логин для подключения к базе данных.

3.Пароль для подключения к базе данных.

После успешного подключения создаем объект Statement, который будет использоваться для выполнения запросов к базе данных (здесь тоже не используем new):

Statement s = c.createStatement();

Объявляем переменную ResultSet для получения результата запроса:

ResultSet rs = null;

Выполняем запрос:

rs = s.executeQuery("SELECT * FROM personal");

Заметим, что для выполнения различных запросов, связанных с из-

менением данных (INSERT, UPDATE, DELETE и пр.), следует применять метод executeUpdate, например,

s.executeUpdate("DELETE FROM personal");

Затем в цикле последовательно перебираем и печатаем строки ре-

зультата:

while( rs.next() )

3

{

str=rs.getString("name");

System.out.println(str);

}

Перед выходом из программы закрываем объекты ResultSet и

Connection.

Справочная информация по работе с SQLite представлена на сайте: https://www.sqlitetutorial.net/sqlite-java/

Пример соединения с SQLite представлен далее:

Class.forName("org.sqlite.JDBC");

Connection con = DriverManager.getConnection("jdbc:sqlite:C:\\BD.db");

Statement stmt = con.createStatement(); String sql = "select * from Users"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) {

mtm.insertRow(mtm.getRowCount()-1, new String[]{rs.getString("id"),rs.getString("username"),rs.getString("number"),rs.ge tString("adress"),rs.getString("tstay")});

}

stmt.close();

con.close();

}catch (Exception e) { JOptionPane.showMessageDialog(this, "у нас проблема"); System.err.println(e);

}

Пример интерфейса приложения в конструкторе представлен далее:

4

Технология выполнения работы

1.Рассмотреть работу с датой и временем в Java.

2.Рассмотреть переключение между фреймами и панелями.

3.Создать подключение базы данных средствами Open Database Connectivity.

4.Настроить мост JDBC-ODBC.

5.Создать SQL-запросы на добавление, изменение и чтение данных

из БД.

6.Создать приложения, реализующее добавление и выгрузку дан-

ных из БД в таблицу.

7. При выполнении работы можно использовать не MySQL, а

SQLite.

5

Вопросы для самоконтроля

1.Опишите классы Calendar и Date.

2.Для чего используется класс SimpleDateFormat?

3.Как скрыть или отобразить фрейм в Java?

4.Что такое JDBC?

5.Что такое ODBC?

6.Для чего используют коннекторы БД в Java?

7.Приведите пример SQL-запроса на чтение данных в БД.

8.Приведите пример SQL-запроса на добавление данных в БД.

9.Приведите пример SQL-запроса на изменение данных в БД.

6