Cours Java (cours éparts pour l'instant)
Java : JDBC : partie 2 : instructions SQL
présentation des interfaces java.sql permettant l’exécution de requêtes SQL et leur exploitation, ainsi que leurs méthodes
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
LPIC1 07 07 introduction à la gestion des disques durs
Java - JDBC - 2 - Intructions SQL
1. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Instructions SQL
Java DataBase Connectivity
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
2. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Plan
• Utilisation de la connexion
• Exécution des instructions SQL
• Exploiter les résultats d'une sélection
• Instructions SQL paramétrées
3. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Utilisation de la connexion
• Objet renvoyé par la méthode java.sql.DriverManager.getConnection(...)
Instance d'une classe implémentant l'interface java.sql.Connection
• méthodes
Statement createStatement(...)
• sera utilisé pour exécuter des instructions SQL sur la DB
PreparedStatement prepareStatement(...)
• idem, avec précompilation des instructions SQL
CallableStatement prepareCall(...) : appel aux procédures stockées
void setAutoCommit(boolean autoCommit), void commit() et void rollback()
DatabaseMetaData getMetaData()
void close()
boolean isClosed()
4. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Exécution des instructions SQL
• Classes implémentant l'interface java.sql.Statement
• méthodes
int executeUpdate(String arg0)
• mise à jour des tables ou des enregistements d'une table
• renvoi le nombre de lignes affectées
ResultSet executeQuery(String arg0)
• instructions SELECT uniquement
• renvoi un objet permettant d'énumérer les champs recherchés ligne par
ligne
•
5. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Exploiter les résultats d'une sélection
• Classes implémentant l'interface java.sql.ResultSet
• Deux catégories de méthodes
changement de ligne : next, first, last, relative, absolute
• renvoient true si il existe une ligne à la position choisie
• Rmq : seule la méthode next peu être appellée si getType renvoi
ResultSet.TYPE_FORWARD_ONLY
- le plus souvent employé via une boucle while(res.next())
récupération de la valeur des champs d'une ligne : get...
• getString, getInt, getDate, getObject …
• toutes disponibles sous deux formes, suivant le type d'argument
- soit une chaine de caractère correspondant à l'identification d'un champ dans l'instruction SELECT
- soit un entier, pour le numéro d'ordre du champ (le premier étant 1)
6. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Instructions SQL paramétrées
• interface java.sql.PreparedStatement dérivée de Statement
• instruction SQL précompilée
les paramètres y étant symbolisés par un ?
Ex : SELECT article, montant FROM facture WHERE client= ?
• Méthodes
set...(int pos) : spécifier la valeur de chaque paramètre
• le premier paramètre ayant un numéro d'ordre égal à 1
executeUpdate() et executeQuery()
7. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Ce qu’on a couvert
• Mise en place d'instructions SQL avec Java
FIN
8. Oracle Certified Professional, Java SE 7 Programmer noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
partager — reproduire, distribuer et communiquer cette œuvre
remixer — adapter l’œuvre
Selon les conditions suivantes :
Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.