예제 #1
0
 public void inserirTurma(Turma _turma) throws Exception {
   if (!(this.turmas.containsKey(_turma.getCodigo()))) {
     this.turmas.put(_turma.getCodigo(), _turma);
   } else {
     throw new Exception("Turma já existe!");
   }
 }
예제 #2
0
  public ArrayList<Turma> listarTurmaPorProfessor(String cpfProfessor) throws SQLException {
    ResultSet rs;
    PreparedStatement pstm;
    ArrayList<Turma> listaTurmas = new ArrayList<>();

    try {
      pstm =
          conexaoMySQL()
              .prepareStatement(
                  "SELECT dp.codigo_disciplina, dp.codigo_professor, dp.codigo_turma,d.nome_disciplina,u.nome, t.nome_turma FROM disciplina_por_professor dp inner join professor p on p.codigo_professor = dp.codigo_professor inner JOIN usuario u on u.cpf = p.cpf inner JOIN turma t on t.codigo_turma = dp.codigo_turma inner join disciplina d on d.codigo_disciplina = dp.codigo_disciplina where p.cpf = "
                      + cpfProfessor);
      rs = pstm.executeQuery();
      while (rs.next()) {
        Turma turma = new Turma();
        turma.setCodigoDisciplina(Integer.parseInt(rs.getString("codigo_disciplina")));
        turma.setCodigoProfessor(Integer.parseInt(rs.getString("codigo_professor")));
        turma.setCodigoTurma(Integer.parseInt(rs.getString("codigo_turma")));
        turma.setNomeDisciplina(rs.getString("nome_disciplina"));
        turma.setNomeProfessor(rs.getString("nome"));
        turma.setNomeTurma(rs.getString("nome_turma"));
        listaTurmas.add(turma);
      }
      return listaTurmas;

    } catch (SQLException e) {
      throw new SQLException("Erro ao criar lista de alunos - " + e.getMessage());
    }
  }
예제 #3
0
 public ArrayList<Turma> listarTurmas() throws SQLException {
   ResultSet rs;
   PreparedStatement pstm;
   ArrayList<Turma> listaTurmas = new ArrayList();
   try {
     pstm =
         conexaoMySQL()
             .prepareStatement(
                 "select dpp.codigo_turma,t.nome_turma,dpp.codigo_disciplina,d.nome_disciplina,dpp.codigo_professor,u.nome \n"
                     + "from disciplina_por_professor as dpp \n"
                     + "inner join turma as t on t.codigo_turma = dpp.codigo_turma \n"
                     + "INNER join disciplina as d on d.codigo_disciplina = dpp.codigo_disciplina \n"
                     + "inner join professor as p on p.codigo_professor = dpp.codigo_professor \n"
                     + "inner join usuario as u on u.cpf = p.cpf");
     rs = pstm.executeQuery();
     while (rs.next()) {
       Turma turma = new Turma();
       turma.setCodigoDisciplina(Integer.parseInt(rs.getString("codigo_disciplina")));
       turma.setCodigoProfessor(Integer.parseInt(rs.getString("codigo_professor")));
       turma.setCodigoTurma(Integer.parseInt(rs.getString("codigo_turma")));
       turma.setNomeDisciplina(rs.getString("nome_disciplina"));
       turma.setNomeProfessor(rs.getString("nome"));
       turma.setNomeTurma(rs.getString("nome_turma"));
       listaTurmas.add(turma);
     }
   } catch (SQLException e) {
     JOptionPane.showMessageDialog(null, "Erro ao consultar turmas" + e.getMessage());
   }
   return listaTurmas;
 }
예제 #4
0
  public static void main(String args[]) {

    System.out.println("digite o nome do aluno ");
    Scanner sc = new Scanner(System.in);
    String nome = sc.next();

    System.out.println("digite o ra do aluno");
    Scanner l = new Scanner(System.in);
    int ra = l.nextInt();

    System.out.println("digite nota g1 ");
    l = new Scanner(System.in);
    float g1 = l.nextFloat();

    System.out.println("digite nota g2 ");
    l = new Scanner(System.in);
    float g2 = l.nextFloat();

    Aluno al = new Aluno(nome, ra, g1, g2);
    Aluno bl = new Aluno(nome, ra, g1, g2);
    Turma tur = new Turma(12, "turma");
    tur.matricula(al);
    tur.matricula(bl);
  }
예제 #5
0
  public static void main(String[] args) {

    conex = new Conexao();

    CriteriaBuilder builder = conex.getEm().getCriteriaBuilder();

    // CONSULTA 1
    // Todos os cursos com ch > 3600

    CriteriaQuery<Curso> query = builder.createQuery(Curso.class);
    Root<Curso> curso = query.from(Curso.class);
    Predicate pred = builder.gt(curso.get("cargaHoraria"), 3600);

    query.select(curso);

    query.where(pred);
    TypedQuery<Curso> tpQuery = conex.getEm().createQuery(query);
    List<Curso> CursoList = tpQuery.getResultList();

    System.out.println();
    System.out.println("***************************************");
    System.out.println("Todos os cursos com carga horaria maior que 3600:");
    System.out.println();

    for (Curso c : CursoList) {
      System.out.println(c.getNomeCurso() + " = Carga horaria: " + c.getCargaHoraria());
    }
    System.out.println("---------------------------------------");

    // CONSULTA 2
    // Todos as turmas do periodo da tarde e noite

    CriteriaQuery<Turma> criteriaQuery2 = builder.createQuery(Turma.class);
    Root<Turma> turma = criteriaQuery2.from(Turma.class);
    Predicate pred1 = builder.equal(turma.get("periodo"), "Noturno");
    Predicate pred2 = builder.equal(turma.get("periodo"), "Vespertino");

    Predicate p1orP2 = builder.or(pred1, pred2);

    criteriaQuery2.select(turma);

    criteriaQuery2.where(p1orP2);
    TypedQuery<Turma> query2 = conex.getEm().createQuery(criteriaQuery2);
    List<Turma> turmasConsulta2 = query2.getResultList();

    System.out.println();
    System.out.println("***************************************");
    System.out.println("Todos as turmas do periodo vespertino e noturno:");
    System.out.println();

    for (Turma turm : turmasConsulta2) {
      System.out.println(
          "Turma: "
              + turm.getIdTurma()
              + " - data de inicio: "
              + turm.getDataInicio()
              + " - data de termino: "
              + turm.getDataTermino());
    }

    System.out.println("---------------------------------------");

    // CONSULTA 3
    // todas as turmas com situação = "Aberta" e	curso = "Ciência da Computação“;

    CriteriaQuery<Turma> criteriaQuery3 = builder.createQuery(Turma.class);
    Root<Turma> turma2 = criteriaQuery3.from(Turma.class);
    Join<Turma, Curso> cursoJoin = turma2.join("curso");

    Predicate pred3 = builder.equal(turma2.get("situacao"), true);
    Predicate pred4 = builder.equal(cursoJoin.get("nomeCurso"), "Ciencias da Computacao");
    Predicate p3andP4 = builder.and(pred3, pred4);
    criteriaQuery3.select(turma2);
    criteriaQuery3.where(p3andP4);

    TypedQuery<Turma> query3 = conex.getEm().createQuery(criteriaQuery3);
    List<Turma> turmasConsulta3 = query3.getResultList();

    System.out.println();
    System.out.println("***************************************");
    System.out.println("Todos as turmas abertas do curso Ciencias da Computacao:");
    System.out.println();
    for (Turma turm : turmasConsulta3) {
      System.out.println(
          "Turma: "
              + turm.getIdTurma()
              + ", Curso: "
              + turm.getCurso().getNomeCurso()
              + " - data de inicio: "
              + turm.getDataInicio()
              + " - data de termino: "
              + turm.getDataTermino());
    }
    System.out.println("---------------------------------------");

    // CONSULTA 4
    // todos os professores que lecionam no curso de "Bacharelado em Tecnologia da Informação“;
    CriteriaQuery<Professor> c4 = builder.createQuery(Professor.class);

    Root<Professor> prof = c4.from(Professor.class);

    Join<Professor, Turma> profTurma = prof.join("turmas");
    Join<Turma, Curso> turmaCurso = profTurma.join("curso");

    Predicate p1 =
        builder.equal(turmaCurso.get("nomeCurso"), "Bacharelado em Tecnologia da Informacao");

    c4.select(prof);
    c4.where(p1);

    TypedQuery<Professor> q4 = conex.getEm().createQuery(c4);
    List<Professor> profsC4 = q4.getResultList();

    System.out.println();
    System.out.println("***************************************");
    System.out.println("Todos os professores do Bacharelado em Tecnologia da Informação");
    System.out.println();
    for (Professor prof4 : profsC4) {
      System.out.println("Professor: " + prof4.getNome() + ", matricula: " + prof4.getMatricula());
    }
    System.out.println("---------------------------------------");

    // CONSULTA 5
    // todos os  professores de turmas com periodo = Tarde e com cursos de carga horária > 4000
    CriteriaQuery<Professor> c5 = builder.createQuery(Professor.class);

    Root<Professor> prof5 = c5.from(Professor.class);

    Join<Professor, Turma> profTurma5 = prof5.join("turmas");
    Join<Turma, Curso> turmaCurso5 = profTurma5.join("curso");

    Predicate p1c5 = builder.equal(profTurma5.get("periodo"), "Vespertino");
    Predicate p2c5 = builder.gt(turmaCurso5.get("cargaHoraria"), 4000);

    Predicate pgeral = builder.and(p1c5, p2c5);

    c5.select(prof5);
    c5.where(pgeral);
    c5.distinct(true);

    TypedQuery<Professor> q5 = conex.getEm().createQuery(c5);
    List<Professor> profsC5 = q5.getResultList();

    System.out.println();
    System.out.println("***************************************");
    System.out.println(
        "Todos os professores de turmas com periodo = Tarde e com cursos de carga horária > 4000");
    System.out.println();
    for (Professor p5 : profsC5) {
      System.out.println("Professor: " + p5.getNome() + ", matricula: " + p5.getMatricula());
    }
    System.out.println("---------------------------------------");

    /*
    http://www.objectdb.com/java/jpa/query/jpql/logical
    */
  }