package dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * connexion à la BDD avec JDBC * tous les paramètres de connexion et les setters sont statiques * le nom de la table sélectionnée est dans ModelCRUD */ abstract public class JDBC { private static String dbms="mysql"; private static String strClassName = "com.mysql.cj.jdbc.Driver"; private static String port = "3306"; private static String dbname; private static String login; private static String password; private static String host= "localhost"; private static String strUrl; protected Connection getConnection() throws SQLException, ClassNotFoundException { Class.forName(strClassName); return DriverManager.getConnection(strUrl, login, password); // try { // Class.forName(strClassName); // chargement du driver // return DriverManager.getConnection(strUrl, login, password); // } // catch(ClassNotFoundException e) { // System.err.println("Driver non chargé !"); // e.printStackTrace(); // } // catch(SQLException e) { // e.printStackTrace(); // } // return null; } // setters public static void setHost(String host) { JDBC.host = host; } public static void setDBMS(String dbms) { JDBC.dbms = dbms; if(dbms == "mysql") { JDBC.strClassName = "com.mysql.cj.jdbc.Driver"; JDBC.port = "3306"; } else if(dbms == "mariadb") { JDBC.strClassName = "org.mariadb.jdbc.Driver"; JDBC.port = "3306"; } } private static void setStrUrl() { JDBC.strUrl = "jdbc:" + dbms + "://" + host + ":" + port + "/" + dbname; } public static void setDbName(String dbName) { JDBC.dbname = dbName; } public static void setLogin(String login) { JDBC.login = login; } public static void setMotdepasse(String motdepasse) { JDBC.password = motdepasse; } public static void setInfos(String host, String dbms, String dbname, String login, String password) { JDBC.dbname = dbname; JDBC.login = login; JDBC.password = password; JDBC.host = host; setDBMS(dbms); JDBC.setStrUrl(); } // public void close() // { // try { // this.conn.close(); // libérer le slot (même principe que l'attaque DDOS) // this.conn = null; // pour pouvoir réinstancier avec d'autres paramètres // } // catch (SQLException e) { // e.printStackTrace(); // } // } }