Files
SAE31_2025/src/fr/iutfbleau/papillon/model/BaseDeDonnees.java
T

86 lines
3.0 KiB
Java
Raw Normal View History

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
2025-10-19 19:41:15 +02:00
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";
2025-10-19 19:41:15 +02:00
/** Connexion */
public static Connection connecter() throws SQLException {
2025-10-19 19:41:15 +02:00
try {
Class.forName("org.mariadb.jdbc.Driver");
} catch (ClassNotFoundException ignore) {}
return DriverManager.getConnection(URL, USER, PASS);
}
/** INSERT renvoie l'id généré. */
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();
try (ResultSet rs = pst.getGeneratedKeys()) {
if (rs.next()) {
int id = rs.getInt(1);
r.setId(id);
return id;
}
2025-10-19 19:41:15 +02:00
}
return 0;
2025-10-19 19:41:15 +02:00
}
}
/** SELECT * ORDER BY rang, id. */
public static List<Rappel> lister() throws SQLException {
String sql = "SELECT id, titre, contenu, theme, rang FROM rappel ORDER BY rang ASC, id ASC";
List<Rappel> 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")));
}
}
return res;
}
/** UPDATE par id. */
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();
}
}
/** DELETE par id. */
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();
}
}
}