Bonjour,
j'essaie d'utiliser le pattern DAO en me basant sur des tutoriels trouvé sur différent sites. malheuresement je dois avoir une erreur quelques part que je ne vois pas car j'ai une erreur.
Je vous mets mes bout de code ci dessous :
C'est ici que j'ai l'erreur eclipse me propose de passer ma classe ChambresDao abstract
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 package menus; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import menus.DAO; //CTRL + SHIFT + O pour générer les imports public class ChambresDao extends DAO<Chambres> { public ChambresDao(Connection conn) { super(conn); } public boolean create(Chambres obj) { return false; } public boolean delete(Chambres obj) { return false; } public <Chambre> boolean update(Chambres obj) { return false; } public Chambres find(int id) { Chambres chambre = new Chambres(); try { ResultSet result = this.connect.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY).executeQuery("SELECT * FROM CHAMBRES WHERE ID_CHAMBRE = " + id); if(result.first()) chambre = new Chambres( id, result.getString("NUMERO"),result.getString("LOCALISATION")); } catch (SQLException e) { e.printStackTrace(); } return chambre; } }
Les autres calsses :
et pour finir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 package menus; public class Chambres { private int id = 0; private String numero = "", localisation=""; public Chambres(int id, String nom,String localisation) { this.id = id; this.numero = numero; this.localisation = localisation; } public Chambres(){ }; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNumero() { return numero; } public void setNumero(String nom) { this.numero = numero; } public String getLocalisation() { return localisation; } public void setLocalisation(String localisation) { this.localisation = localisation; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 package menus; import java.sql.Connection; public abstract class DAO<T> { protected Connection connect = null; public DAO(Connection conn){ this.connect = conn; } /** * Méthode de création * @param obj * @return boolean */ public abstract boolean create(T obj); /** * Méthode pour effacer * @param obj * @return boolean */ public abstract boolean delete(T obj); /** * Méthode de mise à jour * @param obj * @return boolean */ public abstract boolean update(T obj); /** * Méthode de recherche des informations * @param id * @return T */ public abstract T find(int id); }
le code de test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package menus; //CTRL + SHIFT + O pour générer les imports public class FirstTest { public FirstTest(){ //Testons des élèves DAO<Chambres> ChambresDao = new ChambresDao(DatabaseConnection.getInstance()); for(int i = 1; i < 5; i++){ Chambres chambre = ChambresDao.find(i); System.out.println("Elève N°" + chambre.getId() + " - " + chambre.getNumero() + " " + chambre.getLocalisation()); } System.out.println("\n********************************\n"); } }
j'ai pourtant essayé de bien me caler sur le tutoriel que j'ai trouvé... je me demande si le problème c'est pas une histoire d'import dans une class mal fait mais je maitrise pas encore bien le sujet.
Merci de vos lumières.
Fabrice
Partager