diff options
author | polo-pc-greta <ordipolo@gmx.fr> | 2025-02-17 15:28:07 +0100 |
---|---|---|
committer | polo-pc-greta <ordipolo@gmx.fr> | 2025-02-17 15:28:07 +0100 |
commit | 7c5ad53e764ffc6a9d40071ec328e797fc354357 (patch) | |
tree | 6305424357563c2f86846f40fbb2c7d2a03e938a /src/modele/DAO_Test.java | |
parent | 30c38f78018c160fdeb44175e4ef97f0c2868b37 (diff) | |
download | JDBC-master.zip |
Diffstat (limited to 'src/modele/DAO_Test.java')
-rw-r--r-- | src/modele/DAO_Test.java | 57 |
1 files changed, 41 insertions, 16 deletions
diff --git a/src/modele/DAO_Test.java b/src/modele/DAO_Test.java index bf38d97..98180ad 100644 --- a/src/modele/DAO_Test.java +++ b/src/modele/DAO_Test.java | |||
@@ -1,12 +1,13 @@ | |||
1 | /* pour tester les classes, fichier à supprimer */ | 1 | /* pour tester les classes */ |
2 | 2 | ||
3 | package modele; | 3 | package modele; |
4 | 4 | ||
5 | import java.sql.ResultSet; | ||
6 | //import java.sql.ResultSetMetaData; | ||
5 | import java.sql.SQLException; | 7 | import java.sql.SQLException; |
8 | import java.util.ArrayList; | ||
6 | import java.util.HashMap; | 9 | import java.util.HashMap; |
7 | |||
8 | import modele.dao.JDBC; | 10 | import modele.dao.JDBC; |
9 | import modele.dao.ResultObject; | ||
10 | import modele.dao.SQLexecutor; | 11 | import modele.dao.SQLexecutor; |
11 | 12 | ||
12 | /* | 13 | /* |
@@ -16,11 +17,12 @@ public class DAO_Test | |||
16 | { | 17 | { |
17 | public static void main(String[] args) throws SQLException, ClassNotFoundException | 18 | public static void main(String[] args) throws SQLException, ClassNotFoundException |
18 | { | 19 | { |
19 | // envoie de tous les paramètres en même temps | 20 | /* paramètres de la BDD à envoyer une fois au début*/ |
21 | |||
22 | // version envoi tout en même temps | ||
20 | JDBC.setInfos("localhost", "mysql", "tp", "root", ""); | 23 | JDBC.setInfos("localhost", "mysql", "tp", "root", ""); |
21 | 24 | ||
22 | // même chose avec envoie un par un | 25 | // version envoie un par un, finir par un JDBC.setStrUlr(); |
23 | // si un paramètre doit être modifié à la volée, faire un JDBC.setStrUlr(); après | ||
24 | JDBC.setHost("localhost"); | 26 | JDBC.setHost("localhost"); |
25 | JDBC.setDBMS("mysql"); | 27 | JDBC.setDBMS("mysql"); |
26 | JDBC.setDbName("tp"); | 28 | JDBC.setDbName("tp"); |
@@ -28,27 +30,50 @@ public class DAO_Test | |||
28 | JDBC.setPassword(""); | 30 | JDBC.setPassword(""); |
29 | JDBC.setStrUrl(); | 31 | JDBC.setStrUrl(); |
30 | 32 | ||
33 | |||
34 | /* début du contrôleur */ | ||
31 | SQLexecutor executor = new SQLexecutor(); | 35 | SQLexecutor executor = new SQLexecutor(); |
32 | 36 | ||
33 | // SELECT | 37 | |
34 | ResultObject result = executor.executeQuery("SELECT * FROM acces WHERE id = ?", 1); | 38 | executor.setCopyMode(false); // mode copie désactivé (= mode normal) |
35 | for(HashMap<String, Object> row : result.getData()) // foreach sur les entrées | 39 | // un SELECT produit un ResultSet |
40 | // ne pas oublier de fermer la connexion à la fin du contrôleur | ||
41 | executor.executeQuery("SELECT * FROM acces WHERE id = ?", 1); | ||
42 | ResultSet result1 = executor.getResultSet(); | ||
43 | while(result1.next()) | ||
36 | { | 44 | { |
37 | System.out.println("prénom: " + row.get("prenom")); //un champ d'une entrée | 45 | System.out.println("prénom: " + result1.getString("prenom")); |
46 | } | ||
47 | |||
48 | // les requêtes INSERT, UPDATE et DELETE utilise la connexion ouverte et la laissent ouverte | ||
49 | executor.executeQuery("INSERT INTO acces (prenom, login, password, statut, age) VALUES (?, ?, ?, ?, ?)", "Dylan", "Toto", "Titi", "Etudiant", 22); | ||
50 | executor.executeQuery("UPDATE acces SET statut = ? WHERE prenom = ?", "joue à fortnite", "Dylan"); | ||
51 | executor.executeQuery("DELETE FROM acces WHERE prenom = ?", "Dylan"); | ||
52 | |||
53 | executor.close(); // fermeture !! | ||
54 | |||
55 | |||
56 | |||
57 | executor.setCopyMode(true); // mode copie activé | ||
58 | // un SELECT produit une copie dans une array list d'hashmap | ||
59 | // la connexion est fermée automatiqument après chaque requête | ||
60 | executor.executeQuery("SELECT * FROM acces WHERE id = ?", 2); | ||
61 | ArrayList<HashMap<String, Object>> result2 = executor.getResultCopy(); | ||
62 | |||
63 | for(HashMap<String, Object> row : result2) // foreach sur les entrées | ||
64 | { | ||
65 | // obtenir un champ d'une entrée | ||
66 | System.out.println("prénom: " + row.get("prenom")); | ||
38 | 67 | ||
39 | for(HashMap.Entry<String, Object> one_field : row.entrySet()) // foreach sur les champs | 68 | // tout afficher avec "foreach" |
69 | for(HashMap.Entry<String, Object> one_field : row.entrySet()) | ||
40 | { | 70 | { |
41 | System.out.print(one_field.getKey() + ": " + one_field.getValue() + "\n"); | 71 | System.out.print(one_field.getKey() + ": " + one_field.getValue() + "\n"); |
42 | } | 72 | } |
43 | } | 73 | } |
44 | 74 | ||
45 | // INSERT | ||
46 | executor.executeQuery("INSERT INTO acces (prenom, login, password, statut, age) VALUES (?, ?, ?, ?, ?)", "Dylan", "Toto", "Titi", "Etudiant", 22); | 75 | executor.executeQuery("INSERT INTO acces (prenom, login, password, statut, age) VALUES (?, ?, ?, ?, ?)", "Dylan", "Toto", "Titi", "Etudiant", 22); |
47 | |||
48 | // UPDATE | ||
49 | executor.executeQuery("UPDATE acces SET statut = ? WHERE prenom = ?", "joue à fortnite", "Dylan"); | 76 | executor.executeQuery("UPDATE acces SET statut = ? WHERE prenom = ?", "joue à fortnite", "Dylan"); |
50 | |||
51 | // DELETE | ||
52 | executor.executeQuery("DELETE FROM acces WHERE prenom = ?", "Dylan"); | 77 | executor.executeQuery("DELETE FROM acces WHERE prenom = ?", "Dylan"); |
53 | } | 78 | } |
54 | } | 79 | } |