/crud-java-mysql

Sistema administrativo para uma faculdade usando java e mysql.

Primary LanguageJava

Faculdade

Trabalho conjunto de BD I & POO I

Recursos:

  • Utilizando um banco de dados Online do freemysqlhosting.

  • CRUD das entidades: Aluno, Professor, Disciplina, Curso, Turma.

  • Funçôes de consulta: SelectAll, SelectById, Delete, Update, InsertInto.

  • Especificações: usando maven, mysql-connector-java-8.0.29, JDK 18

Conceitos usados de Banco De Dados:

  • Consultas 1:1
  • Consultas 1:N
  • Consultas N:N
  • Consultas Complexas, Com JOIN de até 3 tables
select pd.id, p.nome,d.descricao
from professor_disciplina pd
join professor p on pd.fk_professor = p.id
join disciplina d on pd.fk_disciplina = d.id
  • Tabela com ligação 1:N com outra tabela de ligação N:N(table turma com table professor_disciplina)
System.out.print("Escolha o ID do professor da turma: ");
        PrintAll.printAllProfessor(SelectAll.selectAllProfessor());
        System.out.print("Professor ID: ");
        int fk_professor = inputInt.nextInt();

        System.out.print("Escolha o ID da disciplina da turma: ");
        PrintAll.printAllDisciplina(SelectAll.selectAllDisciplina());
        System.out.print("Disciplina ID: ");
        int fk_disciplina = inputInt.nextInt();

        InsertInto.fazerTurma(turma, fk_professor, fk_disciplina);

Conceitos usados de Programação Orientada a Objetos:

  • Herança
public class Aluno extends Endereco implements IPessoa {}
  • Interface
public class CRUDAluno implements ICRUD {}
  • Polimorfismo
public void printInfo(Aluno a){}
public void printInfo(Professor p) {}
public void printInfo(Turma t){}
  • Tratamento de exceção
try {
  if (escolha == 9) {
    esc.aluno();
  } else if (escolha == 0) {
  esc.menu();
  } else {
    throw new NumeroNaoListado(escolha);
  }
  } catch (NumeroNaoListado e) {
    e.getMessage();
    System.out.println("Escolha uma das opções disponiveis!!");
  }

Estrutura do projeto:

image

Video De Utilização:

image