187 lines
7.1 KiB
Java
187 lines
7.1 KiB
Java
/*
|
|
* 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<Pompier> readAll() {
|
|
ArrayList<Pompier> 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;
|
|
|
|
}
|
|
|
|
}
|