0% ont trouvé ce document utile (0 vote)
12 vues9 pages

Utilisation de PreparedStatement en Java

Transféré par

imane Khouribech
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues9 pages

Utilisation de PreparedStatement en Java

Transféré par

imane Khouribech
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Java DataBase

Connectivity

2ISIC – Semestre 3

ENSAJ 1
PreparedStatement
L'interface PreparedStatement étend Statement et représente une instruction
paramétrée. Cette interface diffère de Statement sur deux points principaux :

• Les instances de PreparedStatement contiennent une instruction SQL dèjà


compilée. D'où le terme prepared. Cela améliore notamment les
performances si cette instruction doit être appelée de nombreuses fois.

• Les instructions SQL des instances de PreparedStatement contiennent un ou


plusieurs paramètres d'entrée, non spécifiés lors de la création de
l'instruction. Ces paramètres sont représentés par des points
d'interrogation(?). Ces paramètres doivent être spécifiés avant l'exécution.

L'exécution des PreparedStatement est identique à celle des simples Statement,


à la différence près qu'il n'y a pas d'argument aux méthodes executeXXX.

17/12/2024 2
PreparedStatement
L'instantiation de PreparedStatement se fait à partir de
la classe Connection, grâce aux méthodes
prepareStatement.

Voici quel ques exemples :


Connection connection = ...;
PreparedStatement prep1 = [Link]("SELECT * FROM Annuaire WHERE nom = ?");
//requête paramétrée pour rechercher un nom dans un Annuaire
PreparedStatement prep2 = [Link]("UPDATE Annuaire SET noTel = ? WHERE nom = ?");
//requête paramétrée pouvant servir à mettre à jour le numéro de tél. d'un abonné donné
PreparedStatement prep3 = [Link]("SELECT Attribut1, Attribut2 FROM MaTable");
// il peut ne pas y avoir de paramètres : sélection de deux attributs de la table MaTable

17/12/2024 3
PreparedStatement
Le passage des paramètres d'entrée des PreparedStatement se fait
grâce à l'ensemble des méthodes setXXX. Il est important de
connaître les correspondances entre le types SQL et les types java

String sql = "UPDATE Stocks SET prix = ?, quantite = ? WHERE nom =?";
//préparation de la requête
PreparedStatement preparedStatement = [Link](sql);
//on assigne un décimal au premier paramètre
[Link](1,15.6);
//on assigne un entier au second paramètre
[Link](2,256);
//on assigne une chaîne de caractères au troisième
[Link](3,"café");
//exécution de la requête
[Link]();

17/12/2024 4
PreparedStatement
• La méthode setObject permet de passer n'importe quel type d'argument. Cette méthode, en plus de l'index du
paramètre et de la valeur de celui-ci, peut prendre en argument un entier définissant le type SQL.

String sql = "INSERT INTO Annuaire (nom, prenom, tel) VALUES(?,?,?)";


PreparedStatement statement = [Link](sql);
//en spécifiant bien les types SQL cibles
[Link](1,"toto", [Link]);
[Link](2,"titi",[Link]);
[Link](3,new Integer(123),[Link]);
[Link]();
//on peut ne pas spécifier le type sql
[Link](1,"bobo");
[Link](2,"bibi");
[Link](3,new Integer(456));
[Link]();
//certains types seront automatiquement convertis, d'autres non
[Link](1,"nono");
[Link](2,"nini");
[Link](3,"789",[Link]);
[Link]();
17/12/2024 5
PreparedStatement
Remarque :

Pour vider un paramètre on peut utiliser la


méthode setXXX correspondante, cela a pour
effet d'écraser la valeur passée
précédemment. Pour vider tous les
paramètres, vous pouvez utiliser la
méthode clearParameters().

17/12/2024 6
Fichier properties en Java
Un fichier properties est un fichier nommé [Link], de format texte tout
simple, et contenant des listes de type

# un commentaire
nom=valeur
Toutes les valeurs sont de type String.

• Exemple :

[Link]=[Link]
[Link]=jdbc:mysql://localhost/compatrol
[Link]=root
[Link]=root

17/12/2024 7
Fichier properties en Java
Lire un fichier de propriétés en Java :

• FileInputStream f = new FileInputStream ("[Link]");


• Properties p = new Properties();
• [Link](f);

• [Link]("[Link]");
• [Link]("[Link]");
• [Link]("[Link]")

17/12/2024 8
TP2

17/12/2024 9

Vous aimerez peut-être aussi