/
Maksim_Shchelochok
/
Course_Work
Обзор
Документация
Войти
/
Maksim_Shchelochok
/
Course_Work
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/model/SubjectManager.java
78 строк
3 KB
Maksim
Добавление валидации
22 июн 2026, 18:40
22 июн 2026, 18:40
d86e5d4
Код
Авторство
О чём код?
package model; import util.ConnectDatabase; import util.Validator; 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 SubjectManager { private Connection getConnection() { return ConnectDatabase.getInstance().getConnection(); } public List<Subject> getAll() { List<Subject> list = new ArrayList<>(); String sql = "SELECT subject_id, name FROM subjects ORDER BY subject_id"; try (PreparedStatement ps = getConnection().prepareStatement(sql); ResultSet rs = ps.executeQuery()) { while (rs.next()) { list.add(new Subject(rs.getInt("subject_id"), rs.getString("name"))); } } catch (SQLException e) { System.out.println("Ошибка чтения предметов: " + e.getMessage()); } return list; } public String create(String name) { if (name == null || name.trim().isEmpty()) { return "Название не может быть пустым."; } if (!Validator.isValidTitle(name)) { return "Название предмета должно содержать минимум 2 символа."; } String sql = "INSERT INTO subjects (name) VALUES (?)"; try (PreparedStatement ps = getConnection().prepareStatement(sql)) { ps.setString(1, name.trim()); ps.executeUpdate(); return null; } catch (SQLException e) { return "Ошибка добавления: " + e.getMessage(); } } public String update(int id, String name) { if (name == null || name.trim().isEmpty()) { return "Название не может быть пустым."; } if (!Validator.isValidTitle(name)) { return "Название предмета должно содержать минимум 2 символа."; } String sql = "UPDATE subjects SET name = ? WHERE subject_id = ?"; try (PreparedStatement ps = getConnection().prepareStatement(sql)) { ps.setString(1, name.trim()); ps.setInt(2, id); ps.executeUpdate(); return null; } catch (SQLException e) { return "Ошибка изменения: " + e.getMessage(); } } public String delete(int id) { String sql = "DELETE FROM subjects WHERE subject_id = ?"; try (PreparedStatement ps = getConnection().prepareStatement(sql)) { ps.setInt(1, id); ps.executeUpdate(); return null; } catch (SQLException e) { return "Не удалось удалить (возможно, предмет используется): " + e.getMessage(); } } }