diff options
author | polo-pc-greta <ordipolo@gmx.fr> | 2025-02-15 14:12:55 +0100 |
---|---|---|
committer | polo-pc-greta <ordipolo@gmx.fr> | 2025-02-15 14:12:55 +0100 |
commit | efed27a703022ecb366a301340f5fcbb8135a2fd (patch) | |
tree | a58593f0522156a3fca146eb973ec2aba8c8cb51 /src/dao/JDBC.java | |
parent | d8dc2b6d0d4dbc93da853ef5a7562d6a223ee918 (diff) | |
download | JDBC-efed27a703022ecb366a301340f5fcbb8135a2fd.zip |
release candidate 2
Diffstat (limited to 'src/dao/JDBC.java')
-rw-r--r-- | src/dao/JDBC.java | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/src/dao/JDBC.java b/src/dao/JDBC.java index 714803e..324ff2d 100644 --- a/src/dao/JDBC.java +++ b/src/dao/JDBC.java | |||
@@ -5,9 +5,9 @@ import java.sql.DriverManager; | |||
5 | import java.sql.SQLException; | 5 | import java.sql.SQLException; |
6 | 6 | ||
7 | /** | 7 | /** |
8 | * connexion à la BDD avec JDBC | 8 | * connexion avec JDBC pour utilisation par la classe fille: SQLexecutor, |
9 | * tous les paramètres de connexion et les setters sont statiques | 9 | * les paramètres de connexion et les setters sont statiques |
10 | * le nom de la table sélectionnée est dans ModelCRUD | 10 | * |
11 | */ | 11 | */ |
12 | abstract public class JDBC | 12 | abstract public class JDBC |
13 | { | 13 | { |
@@ -20,25 +20,31 @@ abstract public class JDBC | |||
20 | private static String host= "localhost"; | 20 | private static String host= "localhost"; |
21 | private static String strUrl; | 21 | private static String strUrl; |
22 | 22 | ||
23 | /** | ||
24 | * retourne une instance de Connection avec JDBC | ||
25 | * @return instance de Connection | ||
26 | * @throws SQLException en cas d'erreur de connexion | ||
27 | * @throws ClassNotFoundException pour Class.forName() | ||
28 | */ | ||
23 | protected Connection getConnection() throws SQLException, ClassNotFoundException | 29 | protected Connection getConnection() throws SQLException, ClassNotFoundException |
24 | { | 30 | { |
25 | Class.forName(strClassName); | 31 | Class.forName(strClassName); |
26 | return DriverManager.getConnection(strUrl, login, password); | 32 | return DriverManager.getConnection(strUrl, login, password); |
27 | // try { | ||
28 | // Class.forName(strClassName); // chargement du driver | ||
29 | // return DriverManager.getConnection(strUrl, login, password); | ||
30 | // } | ||
31 | // catch(ClassNotFoundException e) { | ||
32 | // System.err.println("Driver non chargé !"); | ||
33 | // e.printStackTrace(); | ||
34 | // } | ||
35 | // catch(SQLException e) { | ||
36 | // e.printStackTrace(); | ||
37 | // } | ||
38 | // return null; | ||
39 | } | 33 | } |
40 | 34 | ||
41 | // setters | 35 | // setters |
36 | /** | ||
37 | * génère l'url utilisée par le driver, | ||
38 | * à n'exécuter que lorsque tous les paramètres ont été renseignés (en particulier dbname, login et password), | ||
39 | * certains: host, dbms, strClassName et port ont des valeurs par défaut pour un serveur mysql sur localhost | ||
40 | */ | ||
41 | public static void setStrUrl() { | ||
42 | if(dbname != null && login != null && password != null) { | ||
43 | JDBC.strUrl = "jdbc:" + dbms + "://" + host + ":" + port + "/" + dbname; | ||
44 | } | ||
45 | else System.out.print("il manque des paramètres nécéssaires à la connexion au driver"); | ||
46 | } | ||
47 | |||
42 | public static void setHost(String host) { | 48 | public static void setHost(String host) { |
43 | JDBC.host = host; | 49 | JDBC.host = host; |
44 | } | 50 | } |
@@ -55,18 +61,25 @@ abstract public class JDBC | |||
55 | JDBC.port = "3306"; | 61 | JDBC.port = "3306"; |
56 | } | 62 | } |
57 | } | 63 | } |
58 | private static void setStrUrl() { | ||
59 | JDBC.strUrl = "jdbc:" + dbms + "://" + host + ":" + port + "/" + dbname; | ||
60 | } | ||
61 | public static void setDbName(String dbName) { | 64 | public static void setDbName(String dbName) { |
62 | JDBC.dbname = dbName; | 65 | JDBC.dbname = dbName; |
63 | } | 66 | } |
64 | public static void setLogin(String login) { | 67 | public static void setLogin(String login) { |
65 | JDBC.login = login; | 68 | JDBC.login = login; |
66 | } | 69 | } |
67 | public static void setMotdepasse(String motdepasse) { | 70 | public static void setPassword(String motdepasse) { |
68 | JDBC.password = motdepasse; | 71 | JDBC.password = motdepasse; |
69 | } | 72 | } |
73 | |||
74 | /** | ||
75 | * donner tous les paramètres de connexion en une fois | ||
76 | * il est également possible de les donner un par un avec les setters en finissant pas JDBC.setStrUrl() | ||
77 | * @param host adresse du serveur | ||
78 | * @param dbms obtenir le nom du driver et le numéro du port à partir du nom du SGBD | ||
79 | * @param dbname de la base de données | ||
80 | * @param login nom d'utilisateur | ||
81 | * @param password mot de passe | ||
82 | */ | ||
70 | public static void setInfos(String host, String dbms, String dbname, String login, String password) | 83 | public static void setInfos(String host, String dbms, String dbname, String login, String password) |
71 | { | 84 | { |
72 | JDBC.dbname = dbname; | 85 | JDBC.dbname = dbname; |
@@ -76,15 +89,4 @@ abstract public class JDBC | |||
76 | setDBMS(dbms); | 89 | setDBMS(dbms); |
77 | JDBC.setStrUrl(); | 90 | JDBC.setStrUrl(); |
78 | } | 91 | } |
79 | |||
80 | // public void close() | ||
81 | // { | ||
82 | // try { | ||
83 | // this.conn.close(); // libérer le slot (même principe que l'attaque DDOS) | ||
84 | // this.conn = null; // pour pouvoir réinstancier avec d'autres paramètres | ||
85 | // } | ||
86 | // catch (SQLException e) { | ||
87 | // e.printStackTrace(); | ||
88 | // } | ||
89 | // } | ||
90 | } | 92 | } |