Partage
  • Partager sur Facebook
  • Partager sur Twitter

java EE update et delete

    23 juillet 2017 à 22:46:21

    Bonjour,

    Je suis a la fin du cours Java EE, le chapitre parles de connection avec jdbc et DAO, hélas les deux requête donc le cours mentionnes les deux requêtes SELECT et INSERT, il n'y a rien pour les requête UPDATE et DELETE, j'aimerais que l'ont m'expliquent comment faire dans un premier temps le requête UPDATE ou je n'arrive pas à extraire l'index de la base de la table "noms".

    J'ai divisé le code en plusieurs class pour mieux me retrouver, voici mon code pour dans un premiers temps UPDATE avec jdbc :

    package com.boticiel.bdd;
    
    import java.io.ObjectInputStream.GetField;
    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.boticiel.forms.Utilisateur;
    
    public class Up_noms {
    	    private Connection connexion;
    	    
    	    public List<Utilisateur> recupererUtilisateurs() {
    	        List<Utilisateur> utilisateurs = new ArrayList<Utilisateur>();
    	        Statement statement = null;
    	        ResultSet resultat = null;
    			return utilisateurs;
    	    }
    	    
    	    private void loadDatabase() {
    	        // Chargement du driver
    	        try {
    	            Class.forName("com.mysql.jdbc.Driver");
    	        } catch (ClassNotFoundException e) {
    	        }
    
    	        try {
    	            connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/javaee", "root", "");
    	        } catch (SQLException e) {
    	            e.printStackTrace();
    	        }
    	    }
    	    
    	    public void miseajourUtilisateur(Utilisateur utilisateur) {
    	        loadDatabase();
    	        
    	        try {
    	            
    	        	PreparedStatement preparedStatement = connexion.prepareStatement("UPDATE noms set nom=noms.nom, prenom=noms.prenom where id=Id;");
    	            //preparedStatement.setString(0, utilisateur.getId());
    	            preparedStatement.setString(1, utilisateur.getNom());
    	            preparedStatement.setString(2, utilisateur.getPrenom());
    	            
    	            preparedStatement.executeUpdate();
    	        } catch (SQLException e) {
    	            e.printStackTrace();
    	        }
    	    }
    	}
    
    


    l'utilisateur rien ne change

    package com.boticiel.forms;
    
    public class Utilisateur {
      
    	private String id;
       
    	private String nom;
        private String prenom;
       
       
      
    	public String getNom() {
            return nom;
        }
        public void setNom(String nom) throws BeanException {
            if (nom.length() > 10) {
                throw new BeanException("Le nom est trop grand ! (10 caractères maximum)");
            }
            else {
                this.nom = nom; 
            }
        }
        public String getPrenom() {
            return prenom;
        }
        public void setPrenom(String prenom) {
            this.prenom = prenom;
        }
    	
        public String getId(String string) {
    		return id;
    	}
    	public void setId(String id) {
    		this.id = id;
    	}
    	
    }
    
    //La DaoFactory.java change peu. On y ajoute seulement un
    

    la sevlet ou tout est a faire

    package com.boticiel.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 java.io.IOException;
    
    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.boticiel.bdd.Inoms;
    import com.boticiel.bdd.Up_noms;
    import com.boticiel.forms.BeanException;
    import com.boticiel.forms.Utilisateur;
    
    /**
     * Servlet implementation class Db_update
     */
    @WebServlet("/Db_update")
    public class Db_update extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public Db_update() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		Up_noms tableNoms = new Up_noms();
    
            request.setAttribute("utilisateurs", tableNoms.recupererUtilisateurs());
    
    
    		this.getServletContext().getRequestDispatcher("/WEB-INF/db_update.jsp").forward(request, response);}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	    Utilisateur utilisateur =  Utilisateur();
    	  
    			utilisateur.getId(request.getParameter("id"));
    		  
    	    try {
    			utilisateur.setNom(request.getParameter("nom"));
    		} catch (BeanException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
            utilisateur.setPrenom(request.getParameter("prenom"));
            Up_noms tableNoms = new Up_noms();
            tableNoms.miseajourUtilisateur(utilisateur);
            request.setAttribute("utilisateurs", tableNoms.recupererUtilisateurs());
            this.getServletContext().getRequestDispatcher("/WEB-INF/db_update.jsp").forward(request, response);
    	}
    
    	private Utilisateur Utilisateur() {
    		// TODO Auto-generated method stub
    		return null;
    	}
    
    }
    

    la jsp, je ne comprens pas pourquoi l'affichage de la table noms n'apparait pas !

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>base update</title>
    </head>
    <body>
     base update
      <%@ include file="menu.jsp" %>
    <ul>
    
            <c:forEach var="utilisateur" items="${ utilisateurs }">
    
                <li><c:out value="${ utilisateur.id  }" /> <c:out value="${ utilisateur.nom } " /><c:out value="${ utilisateur.prenom } " /></li>
    
            </c:forEach>
    
        </ul>    
     <form method="post" action="db_update">
            <p>
                <label for="id">id : </label>
                <input type="text" name="id" id="id" />
            </p>
            <p>
                <label for="nom">Nom : </label>
                <input type="text" name="nom" id="nom" />
            </p>
            <p>
                <label for="prenom">Prénom : </label>
                <input type="text" name="prenom" id="prenom" />
            </p>
            
            <input type="submit" name="update" id="id"/>
        </form>
    </body>
    </html>

    j'aimerais comprendre le fonctionnement des quatres requête principale : select, insert, update et delete

    Cordialement *

    philippe



    • Partager sur Facebook
    • Partager sur Twitter

    java EE update et delete

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown