/** {@inheritDoc} */ @Override public IUtilisateur getUtilisateurByIdentifiant(String identifiant) { IUtilisateur utilisateur = null; String sqlQuery = String.format( "SELECT u.%s, u.%s, u.%s, u.%s, u.%s, u.%s, u.%s, e.%s FROM %s u JOIN %s e ON u.%s = e.%s AND u.%s=?;", UtilisateurEnum.ID_UTILISATEUR, UtilisateurEnum.NUMERO_ETUDIANT, UtilisateurEnum.NOM_UTILISATEUR, UtilisateurEnum.PRENOM_UTILISATEUR, UtilisateurEnum.IDENTIFIANT_UTILISATEUR, UtilisateurEnum.MOT_DE_PASSE_UTILISATEUR, UtilisateurEnum.ID_ENTITE, EntiteEnum.NOM_ENTITE, BaseDonneeEnum.UTILISATEUR, BaseDonneeEnum.ENTITE, UtilisateurEnum.ID_ENTITE, EntiteEnum.ID_ENTITE, UtilisateurEnum.IDENTIFIANT_UTILISATEUR); PreparedStatement preparedStatement = this.getBd().openPrepared(sqlQuery); ResultSet resultSet = null; try { preparedStatement.setString(1, identifiant); resultSet = preparedStatement.executeQuery(); } catch (SQLException e) { LOGGER.warn(e); } if (resultSet != null) { try { // Si resusltSet n'est pas nul, on accède à la première ligne. resultSet.next(); // On créé une instance Utilisateur avec les informations à notre disposition. utilisateur = new Utilisateur( resultSet.getInt(UtilisateurEnum.ID_UTILISATEUR.toString()), resultSet.getInt(UtilisateurEnum.NUMERO_ETUDIANT.toString()), resultSet.getString(UtilisateurEnum.NOM_UTILISATEUR.toString()), resultSet.getString(UtilisateurEnum.PRENOM_UTILISATEUR.toString()), resultSet.getString(UtilisateurEnum.IDENTIFIANT_UTILISATEUR.toString()), resultSet.getString(UtilisateurEnum.MOT_DE_PASSE_UTILISATEUR.toString())); // Ainsi qu'une instance d'ENTITE que l'on ajoutera dans Utilisateur IEntite entite = new Entite( resultSet.getInt(UtilisateurEnum.ID_ENTITE.toString()), resultSet.getString(EntiteEnum.NOM_ENTITE.toString())); utilisateur.setEntiteUtilisateur(entite); resultSet.close(); } catch (SQLException e) { LOGGER.warn(e); } } this.getBd().closePrepared(preparedStatement); return utilisateur; }
/** {@inheritDoc} */ @Override public List<IUtilisateur> getListUtilisateur() { List<IUtilisateur> utilisateurList = new ArrayList<>(); String sqlQuery = String.format("SELECT * FROM %s;", BaseDonneeEnum.UTILISATEUR); PreparedStatement preparedStatement = this.getBd().openPrepared(sqlQuery); ResultSet resultSet = null; try { resultSet = preparedStatement.executeQuery(); } catch (SQLException e) { LOGGER.warn(e); } if (resultSet != null) { try { // Tant qu'il reste des lignes dans le resultSet while (resultSet.next()) { // On créé une instance d'utilisateur avec les informations à notre disposition, et on // l'ajoute IUtilisateur utilisateur = new Utilisateur( resultSet.getInt(UtilisateurEnum.ID_UTILISATEUR.toString()), resultSet.getInt(UtilisateurEnum.NUMERO_ETUDIANT.toString()), resultSet.getString(UtilisateurEnum.NOM_UTILISATEUR.toString()), resultSet.getString(UtilisateurEnum.PRENOM_UTILISATEUR.toString()), resultSet.getString(UtilisateurEnum.IDENTIFIANT_UTILISATEUR.toString()), ""); utilisateur.setEntiteUtilisateur( new Entite(resultSet.getInt(UtilisateurEnum.ID_ENTITE.toString()))); utilisateurList.add(utilisateur); } resultSet.close(); } catch (SQLException e) { LOGGER.warn(e); } } this.getBd().closePrepared(preparedStatement); return utilisateurList; }