SQL is de meest voorkomende taal om met een databank te communiceren. Via JDBC kunnen we SQL-commandos gebruiken die naar de database worden verstuurd.
Om dit te kunnen doen gebruiken we een object die we verkrijgen via de instantie van het Connection object. Dit geurt aan de hand van de methode createStatement(). Hier komt dan een concreet object dat een afgeleide is van de Interface Statement.
De Statement Interface is nog zo een interface die AutoClosable is. Ook dit object maakt gebruik van verschillende achterliggende resources die moeten gesloten worden.
Er zijn verschillende methoden van deze Interface die het mogelijk maken om gegevens op te vragen of aan te passen uit een database. We overlopen ze hieronder even kort.
executeUpdate(String sql). Deze methode zal een Create, Insert, Update of Delete commando uitvoeren. CRUD
Als return type heeft dit een integer. Dit is het aantal rijen waarin er een aanpassing is gebeurd.
executeQuery(String sql). Deze methode zal het meegegeven sql Select commando uitvoeren en geeft een reesultaat tabel terug (resultset). CRUD
Als return type heeft dit een ResultSet object. Dit object kan gebruikt worden om over de opgevraagde gegevens te lopen en representeert ook de opgevraagde gegevens.
executeBatch(). Voert een reeks van Update-commando’s uit. Deze commandos worden toegevoegd met de methode addBatch().
Als return type heeft dit een reeks van integers terug, hierbij is elke element de weergave van het aantal rijen die dat specifiek commando heeft aangepast. Deze methode bevat dus verschillende executeUpdate methoden.
execute(). Dit voert om het even welk SQL commando uit.
Dit geeft een boolean terug die aangeeft of het resultaat al dan niet een ResultSet is.
De eerste twee methoden nemen een tekenreeks aan die een sql commando voorstelt in tekst vorm. Deze wordt dan uitgevoerd op de SQL Server en door gecommuniceerd via de JDBC driver.
We bekijken deze verschillende methoden doorheen de verschillende onderdelen van de cursus. We gaan ons nu eerst focussen op de executeQuery()