AP-31/src/java/bdd/PompierMysql.java
thomas.millot 0ec37013ed Merge origin/master
Conflicts:
	web/WEB-INF/AuthentificationJSP.jsp
2021-10-21 14:13:15 +02:00

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;
}
}