Académique Documents
Professionnel Documents
Culture Documents
Accueil > Cours > Développez des sites web avec Java EE > Lire et enregistrer des données en SQL
20 heures
Difficile Licence
Mis à jour le 05/07/2021
Enregistrer
Lire et enregistrer des données en SQL dans une base
de données
Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours ! 1. Travailler avec
JDBC et une base
Téléchargez le fichier audiodescription : Partie 5, Chapitre 2 de données
2. Lire et
Vous trouverez sous la vidéo les codes source du cours.
enregistrer des
données en SQL
3. Utiliser le modèle
DAO
Quiz : Quiz 5
Codes source Winnovative PDF Tools Demo
Renseignez quelques entrées dans votre tables "noms" en exécutant des commandes ACCÉDER AU
SQL comme celle-ci (que vous pouvez adapter) depuis l'invite de commande MySQL : FORUM
sql
INSERT INTO noms(nom, prenom) VALUES("Dupont", "Jean");
La servlet Test.java joue pleinement son rôle de contrôleur. Elle appelle le modèle qui
lui renvoie un résultat, et le transmet à la vue :
java
package com.octest.servlets;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.octest.bdd.Noms;
import com.octest.beans.Utilisateur;
/**
* Servlet implementation class Test
*/
@WebServlet("/Test")
public class Test extends HttpServlet {
private static final long serialVersionUID = 1L;
public Test() {
super();
// TODO Auto-generated constructor stub
}
request.setAttribute("utilisateurs", tableNoms.recupererUtilisateurs());
this.getServletContext().getRequestDispatcher("/WEB-INF/bonjour.jsp").forward
(request, response);
}
Notre Java Bean Utilisateur.java est très simple. Il définit qu'un utilisateur est constitué
d'un nom et d'un prénom et fournit des accesseurs et mutateurs :
java
package com.octest.beans;
package com.octest.bdd;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;
import com.octest.beans.Utilisateur;
loadDatabase();
try {
statement = connexion.createStatement();
// Exécution de la requête
resultat = statement.executeQuery("SELECT nom, prenom FROM noms;");
utilisateurs.add(utilisateur);
}
} catch (SQLException e) {
} finally {
// Fermeture de la connexion
try {
if (resultat != null)
resultat.close();
if (statement != null)
statement.close();
if (connexion != null)
connexion.close();
} catch (SQLException ignore) {
}
}
return utilisateurs;
}
try {
connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/java
ee", "root", "");
} catch (SQLException e) {
e.printStackTrace();
}
}
try {
PreparedStatement preparedStatement = connexion.prepareStatement("INSERT
INTO noms(nom, prenom) VALUES(?, ?);");
preparedStatement.setString(1, utilisateur.getNom());
preparedStatement.setString(2, utilisateur.getPrenom());
preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Enfin, notre vue ne contient rien de nouveau. On y trouve un formulaire pour saisir des
données et une liste sous forme de boucles qui affiche le contenu de notre Java Bean :
jsp
<ul>
<c:forEach var="utilisateur" items="${ utilisateurs }">
<li><c:out value="${ utilisateur.prenom }" /> <c:out value="${ utilisateu
r.nom }" /></li>
</c:forEach>
</ul>
</body>
</html>
Le professeur
Mathieu Nebra
Entrepreneur à plein temps, auteur à plein temps et co-fondateur d'OpenClassrooms :o)
Winnovative PDF Tools Demo