Программное обеспечени

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Программирование java
  • 88 88 страниц
  • 17 + 17 источников
  • Добавлена 12.07.2024
2 500 руб.
  • Содержание
  • Часть работы
  • Список литературы
Содержание
ВВЕДЕНИЕ 3
1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 5
1.1. Java 5
1.2.Spring 7
1.3.MySQL 8
1.4.Hibernate 9
1.5.JavaFX 10
2.ПРАКТИЧЕСКАЯ ЧАСТЬ 11
2.1.Постановка задачи 11
2.2.Клиентское ПО 12
2.3.Серверное ПО 21
2.3.1.База данных 23
2.3.2.Файл hibernate.cfg.xml 24
2.4.Инструменты программного комплекса 25
2.4.1. Настройка базы данных 26
2.5.Запуск системы 30
2.5.1.Запуск сервера 30
2.5.2.Запуск клиента 31
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 34
ПРИЛОЖЕНИЕ 35
ЛИСТИНГПРОГРАММНОГОКОДА 35

Фрагмент для ознакомления

commit();response = true;} else {logger.error("Запрашиваемого объекта нет");} } catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();}return response;}/** * Метод вытягивает из БД список администраторов системы * и проверяет поступивший логин и пароль со списком, * в случае положительного решения, метод возвращает true, * иначе false * @param login - полученный логин * @param password - полученный пароль * @return boolean */private boolean getAdmins(String login, String password) {boolean result = false;List admins = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старт транзакцииtransaction = session.beginTransaction();admins = session.createQuery("from Admins", Admins.class).getResultList();// Коммит транзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}for(Admins admin: admins) {if (admin.getLogin().equals(login)) {if (admin.getPassword().equals(password)) { result = true;} } }return result;}/** * Метод вытягивает из БД список администраторов системы * и проверяет поступивший логинсосписком, * вслучаеположительногорешения, методвозвращаетtrue, * иначеfalse * @paramloginполученныйлогин * @returnboolean */privatebooleangetAdmins(Stringlogin) {booleanresult = false;List admins = newArrayList<>();Transactiontransaction = null;try(Sessionsession = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();admins = session.createQuery("fromAdmins", Admins.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch(Exceptione) {if(transaction != null) {transaction.rollback();}logger.error(e);}for(Adminsadmin: admins) {if(admin.getLogin().equals(login)) {result = true;} }returnresult;}/** * МетодвытягиваетизБДсписокстудентовсистемы * ипроверяетпоступившийлогинипарольсосписком, * вслучаеположительногорешения, методвозвращаетtrue, * иначеfalse * @paramlogin- полученныйлогин * @parampassword- полученныйпароль * @returnтипboolean */privatebooleangetStudents(Loginlogin1, Stringlogin, Stringpassword) {booleanresult = false;List students = newArrayList<>();Transactiontransaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();students = session.createQuery("from Students", Students.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}for(Students student: students) {if (student.getLogin().equals(login)) {if (student.getPassword().equals(password)) { login1.setCategory(student.getCategory());login1.setType(student.getType());login1.setStudent_id(student.getId());result = true;} } }return result;}/** * МетодвытягиваетизБДсписокучеников * исравниваетегосполученнымлогином * @param login логин * @return boolean */private boolean getStudents(String login) {boolean result = false;List students = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();students = session.createQuery("from Students", Students.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}for(Students student: students) {if (student.getLogin().equals(login)) { result = true;} }return result;}/** * МетодзаписываетвБДученика * @param student передаемполученногостудента */private synchronized void writeStudent(Students student) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(student);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодзаписываетвБДматериал * @param material передаемполученныйматериал */private synchronized void writeMaterial(Materials material) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(material);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодвытягиваетизБДсписокучебныхматериалов * @return учебныематериалы (Materials) */private List getMaterials() { List materials = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();materials = session.createQuery("from Materials", Materials.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return materials;}/** * МетодвытягиваетизБДсписокучебныхматериаловдляохранников 4 разряда * @return учебныематериалы (Materials) */private List getMaterialsCategory4() { List materials = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();materials = session.createQuery("from MaterialsFor4Category", MaterialsFor4Category.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return materials;}/** * МетодвытягиваетизБДсписокучебныхматериаловдляохранников 5 разряда * @return учебныематериалы (Materials) */private List getMaterialsCategory5() { List materials = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();materials = session.createQuery("from MaterialsFor5Category", MaterialsFor5Category.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return materials;}/** * МетодвытягиваетизБДсписокучебныхматериаловдляохранников 6 разряда * @return учебныематериалы (Materials) */private List getMaterialsCategory6() { List materials = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();materials = session.createQuery("from MaterialsFor6Category", MaterialsFor6Category.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return materials;}/** * МетодвытягиваетизБДсписокучебныхматериаловдляоружиявкатегориипистолеты * @return учебныематериалы (Materials) */private List getMaterialsPistols() { List materials = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();materials = session.createQuery("from MaterialsForTypePistols", MaterialsForTypePistols.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return materials;}/** * МетодвытягиваетизБДсписокучебныхматериаловдляоружиявкатегориипомповые * @return учебныематериалы (Materials) */private List getMaterialsPumps() { List materials = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();materials = session.createQuery("from MaterialsForTypePumps", MaterialsForTypePumps.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return materials;}/** * МетодвытягиваетизБДсписокучебныхматериаловдляоружиявкатегориигладкоствольные * @return учебныематериалы (Materials) */private List getMaterialsSmoothBore() { List materials = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();materials = session.createQuery("from MaterialsForTypeSmoothBore", MaterialsForTypeSmoothBore.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return materials;}/** * МетодзаписываетвБДвидеоурок * @param videoLink передаемполученноесообщениеотклиента */private synchronized void writeVideo(VideoLinks videoLink) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(videoLink);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодвытягиваетизБДсписоквидеоматериалов * @return видеоматериалы */private List getVideoLinks() { List videoLinks = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();videoLinks = session.createQuery("from VideoLinks", VideoLinks.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return videoLinks;}/** * МетодвытягиваетизБДсписокучеников * @return студентыилиученики :) */private List getStudents() { List students = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();students = session.createQuery("from Students", Students.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return students;}/** * МетодзаписываетвБДадминистратора * @param admin полученныйотклиентаданныенаадминистратора */private synchronized void writeAdmin(Admins admin) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(admin);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодудаляетизБДученика * @param studentId ID ученика */private synchronized void deleteStudent(int studentId) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();Students student = session.get(Students.class, studentId); if (student != null) {//Удаляемобъектsession.delete(student);}// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодвытягиваетизБД pdf - файл * @param pdfId ID полученныйотклиента * @return byte[] */private synchronized byte[] getPdfFile(int pdfId) { Transaction transaction = null;Materials material = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();material = session.get(Materials.class, pdfId);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();}return material.getPdf_file();}/** * МетодвытягиваетизБД pdf - файл * @param pdfId ID полученныйотклиента * @return byte[] */private synchronized byte[] getPdfFileCategory4(int pdfId) { Transaction transaction = null;MaterialsFor4Category material = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();material = session.get(MaterialsFor4Category.class, pdfId);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();}return material.getPdf_file();}/** * МетодвытягиваетизБД pdf - файл * @param pdfId ID полученныйотклиента * @return byte[] */private synchronized byte[] getPdfFileCategory5(int pdfId) { Transaction transaction = null;MaterialsFor5Category material = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();material = session.get(MaterialsFor5Category.class, pdfId);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();}return material.getPdf_file();}/** * МетодвытягиваетизБД pdf - файл * @param pdfId ID полученныйотклиента * @return byte[] */private synchronized byte[] getPdfFileCategory6(int pdfId) { Transaction transaction = null;MaterialsFor6Category material = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();material = session.get(MaterialsFor6Category.class, pdfId);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();}return material.getPdf_file();}/** * МетодвытягиваетизБД pdf - файл * @param pdfId ID полученныйотклиента * @return byte[] */private synchronized byte[] getPdfFileTypePistols(int pdfId) { Transaction transaction = null;MaterialsForTypePistols material = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();material = session.get(MaterialsForTypePistols.class, pdfId);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();}return material.getPdf_file();}/** * МетодвытягиваетизБД pdf - файл * @param pdfId ID полученныйотклиента * @return byte[] */private synchronized byte[] getPdfFileTypePumps(int pdfId) { Transaction transaction = null;MaterialsForTypePumps material = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();material = session.get(MaterialsForTypePumps.class, pdfId);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();}return material.getPdf_file();}/** * МетодвытягиваетизБД pdf - файл * @param pdfId ID полученныйотклиента * @return byte[] */private synchronized byte[] getPdfFileTypeSmoothBore(int pdfId) { Transaction transaction = null;MaterialsForTypeSmoothBore material = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();material = session.get(MaterialsForTypeSmoothBore.class, pdfId);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();}return material.getPdf_file();}/** * МетодзаписываетвБДтестдляохранникакатегории 4 * @param testSecurityCategory4*/private synchronized void writeTestSecurityCategory4(TestSecurityCategory4 testSecurityCategory4) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(testSecurityCategory4);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодзаписываетвБДтестдляохранникакатегории 5 * @param testSecurityCategory5*/private synchronized void writeTestSecurityCategory5(TestSecurityCategory5 testSecurityCategory5) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(testSecurityCategory5);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодзаписываетвБДтестдляохранникакатегории 6 * @param testSecurityCategory6*/private synchronized void writeTestSecurityCategory6(TestSecurityCategory6 testSecurityCategory6) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(testSecurityCategory6);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодзаписываетвБДматериалыдляохранников 4 разряда * @param materialsFor4Category*/private synchronized void writeMaterialsFor4Category(MaterialsFor4Category materialsFor4Category) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(materialsFor4Category);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодзаписываетвБДматериалыдляохранников 5 разряда * @param materialsFor5Category*/private synchronized void writeMaterialsFor5Category(MaterialsFor5Category materialsFor5Category) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(materialsFor5Category);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодзаписываетвБДматериалыдляохранников 6 разряда * @param materialsFor6Category*/private synchronized void writeMaterialsFor6Category(MaterialsFor6Category materialsFor6Category) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(materialsFor6Category);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодзаписываетвБДматериалыдляпистолетов * @param materialsForTypePistols*/private synchronized void writeMaterialsForTypePistols(MaterialsForTypePistols materialsForTypePistols) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(materialsForTypePistols);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодзаписываетвБДматериалыдляпомповыхоружий * @param materialsForTypePumps*/private synchronized void writeMaterialsForTypePumps(MaterialsForTypePumps materialsForTypePumps) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(materialsForTypePumps);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * МетодзаписываетвБДматериалыдляпистолетов * @param materialsForTypeSmoothBore*/private synchronized void writeMaterialsForTypeSmoothBore(MaterialsForTypeSmoothBore materialsForTypeSmoothBore) { Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();// ДобавимвБДсерверsession.persist(materialsForTypeSmoothBore);// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();} e.printStackTrace();} }/** * Возвращаеттестовоезаданиедляохранников 4 разряда * @return List */private List getTestSecurityCategory4() { List testSecurityCategory4 = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();testSecurityCategory4 = session.createQuery("from TestSecurityCategory4", TestSecurityCategory4.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return testSecurityCategory4;}/** * Возвращаеттестовоезаданиедляохранников 5 разряда * @return List */private List getTestSecurityCategory5() { List testSecurityCategory5 = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();testSecurityCategory5 = session.createQuery("from TestSecurityCategory5", TestSecurityCategory5.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return testSecurityCategory5;}/** * Возвращаеттестовоезаданиедляохранников 6 разряда * @return List */private List getTestSecurityCategory6() { List testSecurityCategory6 = new ArrayList<>();Transaction transaction = null; try (Session session = HibernateUtil.getSessionFactory().openSession()) {// Старттранзакцииtransaction = session.beginTransaction();testSecurityCategory6 = session.createQuery("from TestSecurityCategory6", TestSecurityCategory6.class).getResultList();// Коммиттранзакцииtransaction.commit();} catch (Exception e) {if (transaction != null) { transaction.rollback();}logger.error(e);}return testSecurityCategory6;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;/** * КлассдлявзаимодействиясБДдляадминистраторовсистемы */@Setter@Getter@Entity@Table(name = "admins")public class Admins {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "login")private String login;@Column(name = "password")private String password; public Admins(){}public Admins(String login, String password) {this.login = login; this.password = password;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;/** * Классдлявзаимодействия, дляматериалов */@Setter@Getter@Entity@Table(name = "materials")public class Materials {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "name")private String name;@Lob @Column(name = "pdf_file")private byte[] pdf_file; public Materials(){}public Materials(String name, byte[] pdf_file) {this.name = name; this.pdf_file = pdf_file;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entity@Table(name = "materials_for_4_category")public class MaterialsFor4Category {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "name")private String name;@Lob @Column(name = "pdf_file")private byte[] pdf_file; public MaterialsFor4Category(){}public MaterialsFor4Category(String name, byte[] pdf_file) {this.name = name; this.pdf_file = pdf_file;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entity@Table(name = "materials_for_5_category")public class MaterialsFor5Category {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "name")private String name;@Lob @Column(name = "pdf_file")private byte[] pdf_file; public MaterialsFor5Category(){}public MaterialsFor5Category(String name, byte[] pdf_file) {this.name = name; this.pdf_file = pdf_file;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entity@Table(name = "materials_for_6_category")public class MaterialsFor6Category {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "name")private String name;@Lob @Column(name = "pdf_file")private byte[] pdf_file; public MaterialsFor6Category(){}public MaterialsFor6Category(String name, byte[] pdf_file) {this.name = name; this.pdf_file = pdf_file;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entity@Table(name = "materials_for_type_pistols")public class MaterialsForTypePistols {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "name")private String name;@Lob @Column(name = "pdf_file")private byte[] pdf_file; public MaterialsForTypePistols(){}public MaterialsForTypePistols(String name, byte[] pdf_file) {this.name = name; this.pdf_file = pdf_file;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entity@Table(name = "materials_for_type_pumps")public class MaterialsForTypePumps {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "name")private String name;@Lob @Column(name = "pdf_file")private byte[] pdf_file; public MaterialsForTypePumps(){}public MaterialsForTypePumps(String name, byte[] pdf_file) {this.name = name; this.pdf_file = pdf_file;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entity@Table(name = "materials_for_type_smooth_bore")public class MaterialsForTypeSmoothBore {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "name")private String name;@Lob @Column(name = "pdf_file")private byte[] pdf_file; public MaterialsForTypeSmoothBore(){}public MaterialsForTypeSmoothBore(String name, byte[] pdf_file) {this.name = name; this.pdf_file = pdf_file;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;/** * КлассдлявзаимодействиясБДдляучеников */@Setter@Getter@Entity@Table(name = "students")public class Students {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "first_name")private String first_name;@Column(name = "middle_name")private String middle_name;@Column(name = "last_name")private String last_name;@Column(name = "login")private String login;@Column(name = "password")private String password;@Column(name = "birth")private String birth;@Column(name = "email")private String email;@Column(name = "category")private int category;@Column(name = "type")private String type;@Column(name = "telephone_number")private String telephone_number;@Column(name = "pass")private String pass; public Students() {}public Students(String first_name, String middle_name, String last_name, String login, String password, String birth, String email, int category, String type, String telephone_number, String pass) {this.first_name = first_name; this.middle_name = middle_name; this.last_name = last_name; this.login = login; this.password = password; this.birth = birth; this.email = email; this.category = category; this.type = type; this.telephone_number = telephone_number; this.pass = pass;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entity@Table(name = "test_security_category_4")public class TestSecurityCategory4 {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "question", columnDefinition="LONGTEXT")private String question;@Column(name = "reply_1", columnDefinition="LONGTEXT")private String reply_1;@Column(name = "reply_2", columnDefinition="LONGTEXT")private String reply_2;@Column(name = "reply_3", columnDefinition="LONGTEXT")private String reply_3;@Column(name = "true_reply")private int true_reply; public TestSecurityCategory4() {}public TestSecurityCategory4(String question, String reply_1, String reply_2, String reply_3, int true_reply) {this.question = question; this.reply_1 = reply_1; this.reply_2 = reply_2; this.reply_3 = reply_3; this.true_reply = true_reply;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entity@Table(name = "test_security_category_5")public class TestSecurityCategory5 {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "question", columnDefinition="LONGTEXT")private String question;@Column(name = "reply_1", columnDefinition="LONGTEXT")private String reply_1;@Column(name = "reply_2", columnDefinition="LONGTEXT")private String reply_2;@Column(name = "reply_3", columnDefinition="LONGTEXT")private String reply_3;@Column(name = "true_reply")private int true_reply; public TestSecurityCategory5() {}public TestSecurityCategory5(String question, String reply_1, String reply_2, String reply_3, int true_reply) {this.question = question; this.reply_1 = reply_1; this.reply_2 = reply_2; this.reply_3 = reply_3; this.true_reply = true_reply;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;@Getter@Setter@Entity@Table(name = "test_security_category_6")public class TestSecurityCategory6 {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "question", columnDefinition="LONGTEXT")private String question;@Column(name = "reply_1", columnDefinition="LONGTEXT")private String reply_1;@Column(name = "reply_2", columnDefinition="LONGTEXT")private String reply_2;@Column(name = "reply_3", columnDefinition="LONGTEXT")private String reply_3;@Column(name = "true_reply")private int true_reply; public TestSecurityCategory6() {}public TestSecurityCategory6(String question, String reply_1, String reply_2, String reply_3, int true_reply) {this.question = question; this.reply_1 = reply_1; this.reply_2 = reply_2; this.reply_3 = reply_3; this.true_reply = true_reply;}}package com.example.Server.db;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;/** * КлассдлявзаимодействиясБДдлявидеоуроков */@Setter@Getter@Entity@Table(name = "video_links")public class VideoLinks {@Id @GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private int id;@Column(name = "name")private String name;@Column(name = "link")private String link; public VideoLinks(){}public VideoLinks(String name, String link) {this.name = name; this.link = link;}}package com.example.Server.hibernate;import org.hibernate.SessionFactory;import org.hibernate.boot.Metadata;import org.hibernate.boot.MetadataSources;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;/** * Классдляиспользования Hibernate */public class HibernateUtil {private static StandardServiceRegistry registry; private static SessionFactory sessionFactory;/** * Методпредназначендляработысбазойданных * @return*/public static SessionFactory getSessionFactory() {if (sessionFactory == null) {try {// Create registryregistry = new StandardServiceRegistryBuilder().configure().build();// Create MetadataSourcesMetadataSources sources = new MetadataSources(registry);// Create MetadataMetadata metadata = sources.getMetadataBuilder().build();// Create SessionFactorysessionFactory = metadata.getSessionFactoryBuilder().build();} catch (Exception e) { e.printStackTrace(); if (registry != null) { StandardServiceRegistryBuilder.destroy(registry);} } }return sessionFactory;}public static void shutdown() {if (registry != null) { StandardServiceRegistryBuilder.destroy(registry);} }}package com.example.Server.messaging;import lombok.Getter;import lombok.Setter;@Setter@Getterpublic class ListOfVideoTemp {private int id; private String nameVideo; private String linkInVideo; public ListOfVideoTemp(){}public ListOfVideoTemp(int id, String nameVideo, String linkInVideo) {this.id = id; this.nameVideo = nameVideo; this.linkInVideo = linkInVideo;}public ListOfVideoTemp(String nameVideo, String linkInVideo) {this.nameVideo = nameVideo; this.linkInVideo = linkInVideo;}}package com.example.Server.messaging;import lombok.Getter;import lombok.Setter;@Setter@Getterpublic class MaterialsTemp {private int id; private String name; public MaterialsTemp(){}public MaterialsTemp(int id, String name) {this.id = id; this.name = name;}}package com.example.Server;public enum Direction {AUTHENTICATED_ADMIN, AUTHENTICATED_STUDENT, NOT_AUTHENTICATED,REGISTERED_STUDENT, REGISTERED_ADMIN, NOT_REGISTERED;}package com.example.Server;import org.apache.log4j.BasicConfigurator;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * Точказапускасервера */@SpringBootApplicationpublic class ServerApplication {public static void main(String[] args) { BasicConfigurator.configure();SpringApplication.run(ServerApplication.class, args);}}

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1 Прохоренок Н.А,JavaFX. СПб БХВ - Петербург, 2020. – 768 с.
2 Крейг Уоллс. Spring в действии. – М.: ДМК Пресс, 2015. – 752 с.
3 Cay S. Horstmann and Gary Cornell, Core Java Volume I--Fundamentals, 11th Edition, 2018. - 928 с.
4 Karthik Appigatla. MySQL 8 Cookbook". Packt Publishing, 2018 году. - 502 с.
5 БауэрК., КингГ., ГрегориГ. Java Persistence API и Hibernate. ДМК Пресс, 2019. – 652 с.
6 Joshua Bloch, Effective Java. Addison-Wesley Professional, 2017. - 416 с.
7 Кэти Сьерра, Берт Бэйтс. Изучаем Java. Эксмо, 2016. - 720 с.
8 Brian Goetz, Java Concurrency in Practice. Addison-Wesley Professional, 2006. - 384 с.
9 Herbert Schildt, Java: The Complete Reference, McGraw-Hill Education, 2018. - 1312 с.
10 Scott Oaks, Java Performance: The Definitive Guide, O'Reilly Media, 2014. - 426 с.
11 Paul Deitel and Harvey Deitel, Java: How to Program, Pearson, 2017. - 1232 с.
12 Pratik Patel, Java Database Programming with JDBC, O'Reilly Media, 2000. – 300 с.
13 Craig Walls, "Spring Boot in Action", Manning Publications, 2016. - 384 с
14 Парлог Николай, Система модулей Java. СПб.: Питер, 2021. – 464 с.
15 Мартин Р. Чистый код: создание, анализ и рефакторинг. СПб.: Питер, 2015. – 464 с.
16 Karthik Appigatla. MySQL 8 Cookbook". Packt Publishing, 2018 году. - 502 с.
17 Бауэр К., Кинг Г., Грегори Г. Java Persistence API и Hibernate. ДМК Пресс, 2019. – 652 с.