/
Maksim_Shchelochok
/
Course_Work
Обзор
Документация
Войти
/
Maksim_Shchelochok
/
Course_Work
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/model/TeachingManager.java
128 строк
5 KB
Maksim
Исправление орфографических ошибок
26 июн 2026, 02:27
26 июн 2026, 02:27
e1279cb
Код
Авторство
О чём код?
package model; import util.ConnectDatabase; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class TeachingManager { private Connection getConnection() { return ConnectDatabase.getInstance().getConnection(); } public List<Teaching> getAll() { List<Teaching> list = new ArrayList<>(); String sql = "SELECT t.teaching_id, t.teacher_id, " + "CONCAT(te.last_name, ' ', te.first_name) AS teacher_name, " + "t.group_id, t.hours_count " + "FROM teachings t " + "JOIN teachers te ON t.teacher_id = te.teacher_id " + "ORDER BY t.teaching_id"; try (PreparedStatement ps = getConnection().prepareStatement(sql); ResultSet rs = ps.executeQuery()) { while (rs.next()) { list.add(new Teaching( rs.getInt("teaching_id"), rs.getInt("teacher_id"), rs.getString("teacher_name"), rs.getInt("group_id"), rs.getInt("hours_count"))); } } catch (SQLException e) { System.out.println("Ошибка чтения преподавателей: " + e.getMessage()); } return list; } public List<Teacher> getAllTeachers() { List<Teacher> list = new ArrayList<>(); String sql = "SELECT teacher_id, last_name, first_name, patronymic, " + "work_experience, phone_number FROM teachers ORDER BY last_name"; try (PreparedStatement ps = getConnection().prepareStatement(sql); ResultSet rs = ps.executeQuery()) { while (rs.next()) { list.add(new Teacher( rs.getInt("teacher_id"), rs.getString("last_name"), rs.getString("first_name"), rs.getString("patronymic"), rs.getInt("work_experience"), rs.getString("phone_number"))); } } catch (SQLException e) { System.out.println("Ошибка чтения преподавателей: " + e.getMessage()); } return list; } public List<Group> getAllGroups() { List<Group> list = new ArrayList<>(); String sql = "SELECT g.group_id, g.students_count, g.specialty_id, " + "s.name AS specialty_name " + "FROM `groups` g " + "JOIN specialties s ON g.specialty_id = s.specialty_id " + "ORDER BY g.group_id"; try (PreparedStatement ps = getConnection().prepareStatement(sql); ResultSet rs = ps.executeQuery()) { while (rs.next()) { list.add(new Group( rs.getInt("group_id"), rs.getInt("students_count"), rs.getInt("specialty_id"), rs.getString("specialty_name"))); } } catch (SQLException e) { System.out.println("Ошибка чтения групп: " + e.getMessage()); } return list; } public String create(int teacherId, int groupId, int hoursCount) { if (hoursCount <= 0) { return "Количество часов должно быть больше нуля."; } String sql = "INSERT INTO teachings (teacher_id, group_id, hours_count) VALUES (?, ?, ?)"; try (PreparedStatement ps = getConnection().prepareStatement(sql)) { ps.setInt(1, teacherId); ps.setInt(2, groupId); ps.setInt(3, hoursCount); ps.executeUpdate(); return null; } catch (SQLException e) { return "Ошибка добавления: " + e.getMessage(); } } public String update(int id, int teacherId, int groupId, int hoursCount) { if (hoursCount <= 0) { return "Количество часов должно быть больше нуля."; } String sql = "UPDATE teachings SET teacher_id = ?, group_id = ?, hours_count = ? " + "WHERE teaching_id = ?"; try (PreparedStatement ps = getConnection().prepareStatement(sql)) { ps.setInt(1, teacherId); ps.setInt(2, groupId); ps.setInt(3, hoursCount); ps.setInt(4, id); ps.executeUpdate(); return null; } catch (SQLException e) { return "Ошибка изменения: " + e.getMessage(); } } public String delete(int id) { String sql = "DELETE FROM teachings WHERE teaching_id = ?"; try (PreparedStatement ps = getConnection().prepareStatement(sql)) { ps.setInt(1, id); ps.executeUpdate(); return null; } catch (SQLException e) { return "Не удалось удалить: " + e.getMessage(); } } }