Insertion en base de données à partir d'une page JSP
page.jsp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
%>
<form method="get" action="Insertionmd" >
<table border="1" >
<tr bgcolor="white" >
<td>MD</td>
</tr>
<tr>
<td><span><%= model.getR().get(0).getValue() %><span> <input type="hidden" name="md" id="md" value="<%=model.getR().get(0).getValue() %>" /> </td><!-- je recupere le type--> <!-- je recupere le type-->
</tr>
<%} %>
<tr><td colspan="1" align="right"> <input type="submit" value="Enregistrer"> </td></tr>
</table>
</form>
</body>
</html> |
code java d'insertion
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
public class Insertionmd extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
//Declaration d'un objet Transaction
//obtention de session hibernate
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
//debut transaction
session.beginTransaction();
//persistance de l'objet client
// Integer taille = Integer.parseInt(request.getParameter("tailleTableau"));
Mdret mdret = new Mdret();
// for(int i = 0; i < taille; i++){
mdret = new Mdret();
mdret.setMd(request.getParameter("md"));
session.save(mdret);
//validation de la transaction
session.getTransaction().commit();
//fermeture session
HibernateUtil.getSessionFactory().close();
}
} |
j'utilise hibernate pour la persistance en base de données mysql
j'ai une table model avec comme champ:
-id(primary key autoincrement)
-md
Quand je clique sur enregistrer le md(model) est bien enregistré mais quand je reclique sur le formulaire une autre fois j'ai la création du même md dans table en base de données
J'aimerais que vous m'aidiez svp à faire un test sur mon insertion en base de données afin qu'il n'y ait plus de doublon merci.