summaryrefslogtreecommitdiff
path: root/src/modele/DAO_Test.java
diff options
context:
space:
mode:
authorpolo-pc-greta <ordipolo@gmx.fr>2025-02-17 15:28:07 +0100
committerpolo-pc-greta <ordipolo@gmx.fr>2025-02-17 15:28:07 +0100
commit7c5ad53e764ffc6a9d40071ec328e797fc354357 (patch)
tree6305424357563c2f86846f40fbb2c7d2a03e938a /src/modele/DAO_Test.java
parent30c38f78018c160fdeb44175e4ef97f0c2868b37 (diff)
downloadJDBC-7c5ad53e764ffc6a9d40071ec328e797fc354357.zip
2 modes connexion qui reste ouverte ou fermeture immédiateHEADmaster
Diffstat (limited to 'src/modele/DAO_Test.java')
-rw-r--r--src/modele/DAO_Test.java57
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
3package modele; 3package modele;
4 4
5import java.sql.ResultSet;
6//import java.sql.ResultSetMetaData;
5import java.sql.SQLException; 7import java.sql.SQLException;
8import java.util.ArrayList;
6import java.util.HashMap; 9import java.util.HashMap;
7
8import modele.dao.JDBC; 10import modele.dao.JDBC;
9import modele.dao.ResultObject;
10import modele.dao.SQLexecutor; 11import 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}