/** * deze methode zoekt de trainer op van de opgegeven ploeg * * @param ploegnaam de naam van de ploeg waarvan je de trainer wilt zoeken * @return * @throws DBException */ public Persoon getTrainer(String ploegnaam) throws DBException { try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement( "select id,naam,voornaam,geboortedatum,isTrainer,opmerking from persoon where id in (select trainer_id from ploeg where id in (select id from ploeg where naam='?'))"); ) { // execute voert elke sql-statement uit, executeQuery enkel de eenvoudige stmt.execute(); // result opvragen (en automatisch sluiten) try (ResultSet r = stmt.getResultSet()) { Persoon k = new Persoon(); while (r.next()) { k.setId(r.getInt("id")); k.setNaam(r.getString("naam")); k.setVoornaam(r.getString("voornaam")); k.setGeboortedatum(r.getDate("geboortedatum")); k.setTrainer(r.getBoolean("isTrainer")); k.setOpmerking(r.getString("opmerking")); } return k; } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in getTrainer (String ploegnaam) - resultset" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in getTrainer (String ploegnaam) - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in getTrainer (String ploegnaam) - connection" + sqlEx); } }
@Test public void koppelenTrainerAanPloeg() throws Exception { Ploeg ploeg = new Ploeg(); ploeg.setCategorie(Categorie.U8); ploeg.setNaam("Apllesiitos"); ploegDB.toevoegenPloeg(ploeg); Persoon drie = new Persoon(); drie.setVoornaam("Rubensito"); drie.setNaam("Chulito"); drie.setGeboortedatum(1998, 8, 1); drie.setTrainer(true); persoonDB.toevoegenPersoon(drie); ploeg = ploegDB.zoekPloeg(ploeg.getNaam()); ploegDB.toevoegenTrainerPloeg(persoonDB.zoekPersoon("Chulito", "Rubensito"), ploeg); }
/** * deze methode geeft een ArrayList terug waarin alle spelers van de opgegeven ploeg zitten * * @param id het id van de ploeg waarvan je alle spelers wilt opvragen * @return * @throws DBException */ public ArrayList<Persoon> zoekSpelersPloeg(int id) throws DBException { ArrayList<Persoon> sp = new ArrayList<>(); // connectie tot stand brengen (en automatisch sluiten) try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement( "select id, naam, voornaam, geboortedatum, isTrainer,ploeg_id from persoon where isTrainer=\"false\" and ploeg_id in(select id from ploeg where id=?)"); ) { stmt.setInt(1, id); // execute voert elke sql-statement uit, executeQuery enkel de eenvoudige stmt.execute(); // result opvragen (en automatisch sluiten) try (ResultSet r = stmt.getResultSet()) { // van alle spelers uit de database Persoon-objecten maken while (r.next()) { Persoon k = new Persoon(); k.setId(r.getInt("id")); k.setNaam(r.getString("naam")); k.setVoornaam(r.getString("voornaam")); k.setGeboortedatum(r.getDate("geboortedatum")); k.setTrainer(r.getBoolean("isTrainer")); if (r.getObject("ploeg_id") == null) { k.setPloegid(null); } else { k.setPloegid(r.getInt("ploeg_id")); } sp.add(k); } return sp; } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekSpelersPloeg(int id) - resultset" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekSpelersPloeg(int id)n - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekSpelersPloeg(int id) - connection" + sqlEx); } }
@Test public void verwijderenPloegMetTrainer() throws Exception { Ploeg a = new Ploeg(); a.setCategorie(Categorie.U9); a.setNaam("U7a"); ploegDB.toevoegenPloeg(a); Persoon b = new Persoon(); b.setTrainer(true); b.setGeboortedatum(1940, 4, 11); b.setNaam("Viernesito"); b.setVoornaam("Vientesito"); persoonDB.toevoegenPersoon(b); ploegDB.toevoegenTrainerPloeg(b, a); ploegDB.verwijderPloeg(a); }
// TODO add test methods here. // The methods must be annotated with annotation @Test. For example: // // @Test // public void hello() {} @Test public void toevoegenPloegMetTrainer() throws Exception { Persoon drie = new Persoon(); drie.setVoornaam("Marnisito"); drie.setNaam("Chulo"); drie.setGeboortedatum(1989, 8, 1); drie.setTrainer(true); persoonDB.toevoegenPersoon(drie); Ploeg ploeg = new Ploeg(); ploeg.setCategorie(Categorie.U6); ploeg.setNaam("las mamasitas"); Persoon p = persoonDB.zoekPersoon(drie.getNaam(), drie.getVoornaam()); ploeg.setTrainer(p.getId()); ploegDB.toevoegenPloeg(ploeg); }
@Test public void ontkoppelenSpeler() throws Exception { Persoon een = new Persoon(); een.setVoornaam("stevisito"); een.setNaam("rikisito"); een.setGeboortedatum(1995, 4, 13); een.setTrainer(false); persoonDB.toevoegenPersoon(een); Ploeg ploeg = new Ploeg(); ploeg.setCategorie(Categorie.U10); ploeg.setNaam("vivesito"); ploegDB.toevoegenPloeg(ploeg); // ploegDB.toevoegenSpelerPloeg( ploegDB.zoekPloeg(ploeg.getNaam()), persoonDB.zoekPersoon(een.getNaam(), een.getVoornaam())); ploegDB.verwijderSpelerPloeg(een.getNaam(), een.getVoornaam()); }