/** * ploeg toevoegen aan database * * @param p de ploeg die je wilt toevoegen * @throws DBException */ public void toevoegenPloeg(Ploeg p) throws DBException { // connectie tot stand brengen (en automatisch sluiten) try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) if (p.getTrainer() != null) { try (PreparedStatement stmt = conn.prepareStatement( "INSERT INTO ploeg (`naam`, `niveau`, `trainer_id`) VALUES (?,?,?)"); ) { stmt.setString(1, p.getNaam()); stmt.setString(2, p.getCategorie().getTekst()); stmt.setInt(3, p.getTrainer()); stmt.execute(); } catch (SQLException sqlEx) { throw new DBException("SQL-exception in toevoegenPloeg(PloegBag p) - statement" + sqlEx); } } else { try (PreparedStatement stmt = conn.prepareStatement("INSERT INTO ploeg (`naam`, `niveau`) VALUES (?,?)"); ) { stmt.setString(1, p.getNaam()); stmt.setString(2, p.getCategorie().getTekst()); stmt.execute(); } catch (SQLException sqlEx) { throw new DBException("SQL-exception in toevoegenPloeg(PloegBag p) - statement" + sqlEx); } } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in toevoegenPloeg(PloegBag p) - connection" + sqlEx); } }
/** * 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); } }
/** * deze methode geeft een ArrayList terug waarin alle ploegen zitten met de opgegeven categorie * * @param categorie de opgegegeven categorie * @return * @throws ApplicationException * @throws DBException */ public ArrayList<Ploeg> zoekPloegenCategorie(Categorie categorie) throws ApplicationException, DBException { ArrayList<Ploeg> kl = 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, niveau, trainer_id from ploeg where niveau=?"); ) { stmt.setString(1, categorie.getTekst()); // 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 Ploeg-objecten maken while (r.next()) { Ploeg k = new Ploeg(); k.setId(r.getInt("id")); k.setNaam(r.getString("naam")); k.setCategorie(r.getString("niveau")); if (r.getObject("trainer_id") == null) { k.setTrainer(null); } else { k.setTrainer(r.getInt("trainer_id")); } kl.add(k); } return kl; } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in zoekPloegenCategorie(Categorie categorie) - resultset" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in zoekPloegenCategorie(Categorie categorie) - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in zoekPloegenCategorie(Categorie categorie) - connection" + sqlEx); } }
/** * 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); } }
/** * deze methode ontkoppelt de opgegeven speler van de ploegen waarin hij zit * * @param id Het id van de speler die je wilt ontkoppelen * @throws DBException */ public void verwijderSpelerPloeg(int id) throws DBException { // connectie tot stand brengen (en automatisch sluiten) try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement("update persoon set ploeg_id=null where id=?;"); ) { stmt.setInt(1, id); stmt.execute(); } catch (SQLException sqlEx) { throw new DBException("SQL-exception in verwijderSpelerPloeg(int id) - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in verwijderSpelerPloeg(int id) - connection" + sqlEx); } }
/** * deze methode ontkoppelt de trainer van de opgegeven ploeg * * @param ploegnaam de naam van de opgegeven ploeg * @throws DBException */ public void verwijderTrainerPloeg(String ploegnaam) throws DBException { // connectie tot stand brengen (en automatisch sluiten) try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement("UPDATE ploeg set trainer_id=null where naam=?"); ) { stmt.setString(1, ploegnaam); stmt.execute(); } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in verwijderTrainerPloeg((int ploegid)) - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in verwijderTrainerPloeg(int ploegid) - connection" + sqlEx); } }
/** * deze methode verwijdert alle ploegen * * @throws DBException */ public void verwijderAllePloegen() throws DBException { // connectie tot stand brengen (en automatisch sluiten) try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement("update persoon set ploeg_id = NULL"); ) { stmt.execute(); } // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement("delete from ploeg "); ) { stmt.execute(); } catch (SQLException sqlEx) { throw new DBException("SQL-exception in verwijderAllePloegen() - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in verwijderAllePloegen() - connection" + sqlEx); } }
/** * deze methode koppelt de opgegeven trainer aan de opgegeven ploeg * * @param persoonid het id van de trainer * @param ploegid het id van de ploeg * @throws DBException */ public void toevoegenTrainerPloeg(int persoonid, int ploegid) throws DBException { // connectie tot stand brengen (en automatisch sluiten) try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement("UPDATE ploeg set trainer_id=? where id=?"); ) { stmt.setInt(1, persoonid); stmt.setInt(2, ploegid); stmt.execute(); } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in toevoegenTrainerPloeg(int persoonid,int ploegid) - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in toevoegenTrainerPloeg(int persoonid,int ploegid) - connection" + sqlEx); } }
/** * @param id het id van de ploeg die je wilt zoeken * @return De te zoeken ploeg wordt geretourneerd. * @throws DBException * @throws ApplicationException */ public Ploeg zoekPloeg(int id) throws DBException, ApplicationException { Ploeg returnPloeg = null; // 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,niveau,trainer_id from ploeg where id = ?"); ) { stmt.setInt(1, id); // execute voert het SQL-statement uit stmt.execute(); // result opvragen (en automatisch sluiten) try (ResultSet r = stmt.getResultSet()) { // van de ploeg uit de database een Ploeg-object maken Ploeg k = new Ploeg(); // er werd een ploeg gevonden if (r.next()) { k.setId(r.getInt("id")); k.setNaam(r.getString("naam")); k.setCategorie(r.getString("niveau")); if (r.getObject("trainer_id") == null) { k.setTrainer(null); } else { k.setTrainer(r.getInt("trainer_id")); } returnPloeg = k; } return returnPloeg; } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekPloeg(int id) - resultset" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekPloeg(int id) - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekPloeg(int id) - connection"); } }
/** * deze methode koppelt de opgegeven speler aan de opgegeven ploeg * * @param ploegnaam De ploeg waaraan je een speler wilt koppelen. * @param persoon De persoon die je aan een ploeg wilt koppelen. * @throws DBException * @throws exception.ApplicationException */ public void toevoegenSpelerPloeg(String ploegnaam, Persoon persoon) throws DBException, ApplicationException { Persoon p = persoonDB.zoekPersoon(persoon); // connectie tot stand brengen (en automatisch sluiten) try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement( "update persoon set ploeg_id=(select id from ploeg where naam=?) where id=?;"); ) { stmt.setString(1, ploegnaam); stmt.setInt(2, p.getId()); stmt.execute(); } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in toevoegenSpelerPloeg(String naam,PersoonBag p) - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in toevoegenSpelerPloeg(String naam,PersoonBag p) - connection" + sqlEx); } }
/** * @return ArrayList met alle ploegen * @throws DBException * @throws ApplicationException */ public ArrayList<Ploeg> zoekAllePloegen() throws DBException, ApplicationException { ArrayList ploegen = 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,niveau,trainer_id from ploeg"); ) { // execute voert het SQL-statement uit stmt.execute(); // result opvragen (en automatisch sluiten) try (ResultSet r = stmt.getResultSet()) { for (int i = 0; i < ploegen.size(); i++) { Ploeg p = new Ploeg(); if (r.next()) { p.setId(r.getInt("id")); p.setNaam(r.getString("naam")); p.setCategorie(r.getString("niveau")); p.setTrainer(r.getInt("trainer_id")); ploegen.add(p); } } return ploegen; } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekAllePloegen() - resultset" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekAllePloegen() - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekPloeg(String naam) - connection"); } }