diff --git a/src/fr/iutfbleau/papillon/model/BaseDeDonnees.java b/src/fr/iutfbleau/papillon/model/BaseDeDonnees.java index 19d626e..092f394 100644 --- a/src/fr/iutfbleau/papillon/model/BaseDeDonnees.java +++ b/src/fr/iutfbleau/papillon/model/BaseDeDonnees.java @@ -4,82 +4,101 @@ import java.util.List; public class BaseDeDonnees { - private static final String URL = "jdbc:mariadb://dwarves.iut-fbleau.fr:3306/yolou"; private static final String USER = "yolou"; private static final String PASS = "serikhaneyolou"; - - /** Connexion */ - public static Connection connecter() throws SQLException { + /** Connexion */ + public static Connection getConnexion() throws SQLException { try { Class.forName("org.mariadb.jdbc.Driver"); - } catch (ClassNotFoundException ignore) {} + } catch (ClassNotFoundException e) { + System.out.println("Erreur : pilote MariaDB non trouvé !"); + } return DriverManager.getConnection(URL, USER, PASS); } - /** INSERT renvoie l'id généré. */ + /** Ajout d’un rappel (INSERT) */ public static int ajouter(Rappel r) throws SQLException { - String sql = "INSERT INTO rappel(titre, contenu, theme, rang) VALUES (?,?,?,?)"; - try (Connection cnx = connecter(); - PreparedStatement pst = cnx.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) { - pst.setString(1, r.getTitre()); - pst.setString(2, r.getContenu()); - pst.setString(3, r.getTheme()); - pst.setInt(4, r.getRang()); - pst.executeUpdate(); + String sql = "INSERT INTO rappel(titre, contenu, theme, rang) VALUES (?, ?, ?, ?)"; + Connection cnx = getConnexion(); + PreparedStatement pst = cnx.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); - try (ResultSet rs = pst.getGeneratedKeys()) { - if (rs.next()) { - int id = rs.getInt(1); - r.setId(id); - return id; - } - } - return 0; + pst.setString(1, r.getTitre()); + pst.setString(2, r.getContenu()); + pst.setString(3, r.getTheme()); + pst.setInt(4, r.getRang()); + pst.executeUpdate(); + + ResultSet rs = pst.getGeneratedKeys(); + int id = 0; + if (rs.next()) { + id = rs.getInt(1); + r.setId(id); } + + rs.close(); + pst.close(); + cnx.close(); + return id; } - /** SELECT * ORDER BY rang, id. */ + /** Liste des rappels */ public static List lister() throws SQLException { String sql = "SELECT id, titre, contenu, theme, rang FROM rappel ORDER BY rang ASC, id ASC"; List res = new ArrayList<>(); - try (Connection cnx = connecter(); - PreparedStatement pst = cnx.prepareStatement(sql); - ResultSet rs = pst.executeQuery()) { - while (rs.next()) { - res.add(new Rappel( - rs.getInt("id"), - rs.getString("titre"), - rs.getString("contenu"), - rs.getString("theme"), - rs.getInt("rang"))); - } + + Connection cnx = getConnexion(); + PreparedStatement pst = cnx.prepareStatement(sql); + ResultSet rs = pst.executeQuery(); + + while (rs.next()) { + Rappel r = new Rappel( + rs.getInt("id"), + rs.getString("titre"), + rs.getString("contenu"), + rs.getString("theme"), + rs.getInt("rang") + ); + res.add(r); } + + rs.close(); + pst.close(); + cnx.close(); return res; } - /** UPDATE par id. */ + /** Modification d’un rappel (UPDATE) */ public static int modifier(int id, Rappel r) throws SQLException { String sql = "UPDATE rappel SET titre=?, contenu=?, theme=?, rang=? WHERE id=?"; - try (Connection cnx = connecter(); - PreparedStatement pst = cnx.prepareStatement(sql)) { - pst.setString(1, r.getTitre()); - pst.setString(2, r.getContenu()); - pst.setString(3, r.getTheme()); - pst.setInt(4, r.getRang()); - pst.setInt(5, id); - return pst.executeUpdate(); - } + Connection cnx = getConnexion(); + PreparedStatement pst = cnx.prepareStatement(sql); + + pst.setString(1, r.getTitre()); + pst.setString(2, r.getContenu()); + pst.setString(3, r.getTheme()); + pst.setInt(4, r.getRang()); + pst.setInt(5, id); + + int rows = pst.executeUpdate(); + + pst.close(); + cnx.close(); + return rows; } - /** DELETE par id. */ + /** Suppression d’un rappel (DELETE) */ public static int supprimer(int id) throws SQLException { String sql = "DELETE FROM rappel WHERE id=?"; - try (Connection cnx = connecter(); - PreparedStatement pst = cnx.prepareStatement(sql)) { - pst.setInt(1, id); - return pst.executeUpdate(); - } + Connection cnx = getConnexion(); + PreparedStatement pst = cnx.prepareStatement(sql); + + pst.setInt(1, id); + int rows = pst.executeUpdate(); + + pst.close(); + cnx.close(); + return rows; } }