/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package bdd; import com.mysql.cj.xdevapi.Client; import com.test.beans.Pompier; import com.test.forms.MD5; import jakarta.servlet.http.HttpServletRequest; import java.net.http.HttpRequest; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author thomas.millot */ public class PompierMysql { private Connection theConnection; private Pompier unPompier; public PompierMysql() { theConnection = Connexion.getConnect("localhost", "sdis29", "admin", "minda"); } public ArrayList readAll() { ArrayList lesPompiers = new ArrayList<>(); try { Statement stmt = theConnection.createStatement(); ResultSet resultQ = null; resultQ = stmt.executeQuery("SELECT * FROM pompier"); while (resultQ.next()) { unPompier = new Pompier(resultQ.getInt("id"), resultQ.getString("nom"), resultQ.getString("prenom"), resultQ.getString("statut"), resultQ.getString("typePers"), resultQ.getString("mail"), resultQ.getString("login"), resultQ.getString("mdp"), resultQ.getString("adresse"), resultQ.getInt("cp"), resultQ.getString("ville"), resultQ.getInt("bip"), resultQ.getInt("nbGardes"), resultQ.getInt("grade"), resultQ.getString("commentaire"), resultQ.getString("dateEnreg"), resultQ.getString("dateModif")); lesPompiers.add(unPompier); } resultQ.close(); stmt.close(); //theConnection.close(); } catch (SQLException ex) { System.out.println("SQLException : " + ex.getMessage()); System.out.println("SQLState : " + ex.getSQLState()); System.out.println("Code erreur : " + ex.getErrorCode()); } return lesPompiers; } /** * Creation du client passé en paramètre dans la table client Requête non * préparée * * @param c objet de type Client (sans identifiant) * @return int : id du client créé */ public int create(Pompier p) { int id = -1; try { Statement stmt = theConnection.createStatement(); int status = stmt.executeUpdate( "INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) " + "VALUES ('" + p.getNom() + "', '" + p.getPrenom() + "', '" + p.getStatut() + "', " + p.getMail() + ", '" + p.getLogin() + "', '" + p.getMdp() + "', '" + p.getAdresse() + "', '" + p.getVille() + "', '" + p.getBip() + "', '" + p.getNbGardes() + "', '" + p.getGrade() + "', '" + p.getCommentaire() + "', '" + p.getDateEnreg() + "', '" + p.getDateModif() + "');", Statement.RETURN_GENERATED_KEYS); // Recherche de l'identifiant du client créé if (status > 0) { ResultSet result = stmt.getGeneratedKeys(); if (result.first()) { id = result.getInt(1); } } } catch (SQLException ex) { System.out.println("SQLException : " + ex.getMessage()); System.out.println("SQLState : " + ex.getSQLState()); System.out.println("Code erreur : " + ex.getErrorCode()); } return id; } /** * Creation du client passé en paramètre dans la table client Requête * préparée * * @param c objet de type Client (sans identifiant) * @return int : id du client créé */ public int createRP(Pompier p) { int id = -1; try { PreparedStatement stmt = null; String sql = "INSERT INTO pompier (nom, prenom, statut, mail, login, mdp, adresse, cp, ville, bip, nbGardes, grade, commentaire, dateEnreg, dateModif) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"; stmt = theConnection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); stmt.setString(1, p.getNom()); stmt.setString(2, p.getPrenom()); stmt.setString(3, p.getStatut()); stmt.setString(4, p.getMail()); stmt.setString(5, p.getLogin()); stmt.setString(6, p.getMdp()); stmt.setString(7, p.getAdresse()); stmt.setString(8, p.getVille()); stmt.setInt(9, p.getBip()); stmt.setInt(10, p.getNbGardes()); stmt.setInt(11, p.getGrade()); stmt.setString(12, p.getCommentaire()); stmt.setString(13, p.getDateEnreg()); stmt.setString(14, p.getDateModif()); System.out.println("Requête : " + stmt.toString()); int status = stmt.executeUpdate(); // Recherche de l'identifiant du client créé if (status > 0) { ResultSet result = stmt.getGeneratedKeys(); if (result.first()) { id = result.getInt(1); } } } catch (SQLException ex) { System.out.println("SQLException : " + ex.getMessage()); System.out.println("SQLState : " + ex.getSQLState()); System.out.println("Code erreur : " + ex.getErrorCode()); } return id; } public boolean readPompier(HttpServletRequest request) { boolean reponse = false; Statement stmt; String userSaisi = request.getParameter("ztPseudo"); String mdpSaisi = request.getParameter("ztMDP"); String mdpChiffre = MD5.encode(mdpSaisi); System.out.println("userSaisi : "+ userSaisi); System.out.println("mdpSaisi : "+ mdpChiffre); try { System.out.println("Select * FROM pompier WHERE login = '"+userSaisi+"' AND mdp = '"+mdpChiffre+"';"); stmt = theConnection.createStatement(); ResultSet resultQ = null; resultQ = stmt.executeQuery("Select * FROM pompier WHERE login = '"+userSaisi+"' AND mdp = '"+mdpChiffre+"';"); reponse = resultQ.next(); } catch (SQLException ex) { Logger.getLogger(PompierMysql.class.getName()).log(Level.SEVERE, null, ex); } return reponse; } }