/** * Creëert een nieuw record in de database op basis van het gegeven klant-object. Het gegeven * klant-object moet een id hebben die gelijk is aan -1. Dit wijst erop dat het object nog niet in * de database werd toegevoegd. Na uitvoering van deze methode bevat het klant-object het juiste * id waarmee het object in de database geregistreerd werd. * * @param klant een klant-object waarvan het id nog niet werd ingevuld (gelijk aan -1). * @return true als de klant succesvol werd gecreëerd. Er wordt false teruggegeven wanneer de * klant-id niet -1 was of als er iets mis liep met het uitvoeren van het statement. */ public boolean create(Klant klant) { Connection connection = null; Statement statement = null; try { if (klant.getId() >= 0) return false; connection = maakConnectie(databasePath); statement = maakStatement(connection); String naam = klant.getNaam(); String email = klant.getEmail(); int rowsAffected = statement.executeUpdate( "INSERT INTO klanten VALUES (NULL, '" + naam + "', '" + email + "')"); if (rowsAffected != 1) { sluitStatementEnConnectie(statement, connection); return false; } ResultSet resultSet = statement.executeQuery("CALL IDENTITY()"); if (!resultSet.next()) { sluitStatementEnConnectie(statement, connection); return false; } int id = resultSet.getInt(1); klant.setId(id); sluitStatementEnConnectie(statement, connection); return true; } catch (SQLException e) { sluitStatementEnConnectie(statement, connection); return false; } }
/** * Verwijdert alle gegevens van een klant a.d.h. van een klant-object. Enkel de klant-id van dit * object wordt gebruikt. * * @param klant de klantgegevens die verwijderd moeten worden (enkel de id wordt gebruikt). * @return true als de gegevens werden verwijderd. Er wordt false teruggegeven indien de klant-id * niet werd gevonden of indien er iets mis liep met de database. */ public boolean delete(Klant klant) { return delete(klant.getId()); }