[Java] Faire du Crud avec Java sur Mysql. Utiliser le Crud dans une Jsp.

Introduction


Faire du créer/Lire/Mettre à jour/Supprimer sur une base Mysql avec Java.

Utiliser le Crud dans une JSP.

Source :


Pure Jsp James Goodwill Sams année 2000

Format de la table SQL :


tble

Prérequis


  • Serveur Web Tomcat 8.0
  • Eclipse
  • Un serveur Mysql avec une base de données nommée « feedback » dessus et un utilisateur root avec le mot de passe root. Le serveur doit être accessible sur le port 3306.
  • Dans Eclipse, créer un Nouveau Dynamic Web Project ( file/new/) dans Eclipse appelé projetWeb4
  • Toujours dans Eclipse, faire un glissé déposé du fichier JAR mysql connector dans le répertoire WEB-INF/lib du projetWeb4 ( Le mysql Connector est a récupérer sur le site Java ou mysql)

Sommaire :


  1. Lire une table Mysql
  2. Ecrire un enregistrement dans une table Mysql
  3. updater un enregistrement dans une table Mysql
  4. Supprimer un enregistrement dans Mysql
  5. Utiliser le Crud dans une JSP.

1.Lire une table Mysql


package projetWeb4;
import java.sql.*;

public class SelectDataApp {

	public void selectData(){
		Connection con = null;

		try{
//			 Charge le driver mysql
			 Class.forName("com.mysql.jdbc.Driver");
             con = DriverManager.getConnection("jdbc:mysql://localhost:3306/feedback","root","root");

//           Créer le statement
             Statement s = con.createStatement();

//			Lire une table
             ResultSet rs =  s.executeQuery("SELECT * FROM TITLES");

//           Itérer sur l étendue des résultats
             while (rs.next()){
//            	  Obtenir le titre, qui est un string
            	 System.err.println("Titre = " + rs.getString("title_name"));
//            	 Obtenir la note
            	 System.err.println("Note  = " + rs.getString("rating"));
//            	 Obtenir le prix
            	 System.err.println("Prix  = " + rs.getString("price"));
//            	 Obtenir la quantité
            	 System.err.println("Quantité  = " + rs.getString("quantity")+"\n");
             }

             //        	 Fermer le résultat
        	 rs.close();
        	 System.in.read();

		}
//
//		 GESTION DES ERREURS

//		catch(IOException ioe){
//       	 System.err.println(ioe.getMessage());
//        }

		catch(SQLException sqle){
        	 System.err.println(sqle.getMessage());
         }

		catch(ClassNotFoundException cnfe){
			System.err.println(cnfe.getMessage());
		}
		catch(Exception e){
			System.err.println(e.getMessage());
		}

//		Résoudre sur
		finally{
			try{
				if(con!= null){
//					Clore la connexion dans tous les cas
					con.close();
				}

			}
			catch(SQLException sqle){
				 System.err.println(sqle.getMessage());
			}

		}

	}

//	Exécution de la méthode selectData() de la classe SelectDataApp
	public static void main(String[] args){
		SelectDataApp selectDataApp = new SelectDataApp();
		selectDataApp.selectData();

	}
}

2. Insérer un enregistrement dans la table Mysql



package projetWeb4;
import java.sql.*;

public class UpdateDataApp {

	public void updateData(){
		Connection con = null;

		try{
//			 Charge le driver mysql
			 Class.forName("com.mysql.jdbc.Driver");
             con = DriverManager.getConnection("jdbc:mysql://localhost:3306/feedback","root","root");

//           Créer le statement
             Statement s = con.createStatement();

//           Updater un enregistrement
             s.executeUpdate("UPDATE Titles SET quantity = 5 WHERE title_name ='Bioman'");

		}
//		 GESTION DES ERREURS
		catch(SQLException sqle){
       	 System.err.println(sqle.getMessage());
        }

		catch(ClassNotFoundException cnfe){
			System.err.println(cnfe.getMessage());
		}
		catch(Exception e){
			System.err.println(e.getMessage());
		}

//		Résoudre sur
		finally{
			try{
				if(con!= null){
//					Clore la connexion dans tous les cas
					con.close();
				}

			}
			catch(SQLException sqle){
				 System.err.println(sqle.getMessage());
			}

		}

	}

//	Exécution de la méthode updateData() de la classe UpdateDataApp
	public static void main(String[] args){
		UpdateDataApp updateDataApp = new UpdateDataApp();
		updateDataApp.updateData();

	}

}

3. Mettre à jour (Updater) un enregistrement dans la table Mysql


package projetWeb4;
import java.sql.*;

public class UpdateDataApp {

	public void updateData(){
		Connection con = null;

		try{
//			 Charge le driver mysql
			 Class.forName("com.mysql.jdbc.Driver");
             con = DriverManager.getConnection("jdbc:mysql://localhost:3306/feedback","root","root");

//           Créer le statement
             Statement s = con.createStatement();

//           Updater un enregistrement
             s.executeUpdate("UPDATE Titles SET quantity = 5 WHERE title_name ='Bioman'");

		}
//		 GESTION DES ERREURS
		catch(SQLException sqle){
       	 System.err.println(sqle.getMessage());
        }

		catch(ClassNotFoundException cnfe){
			System.err.println(cnfe.getMessage());
		}
		catch(Exception e){
			System.err.println(e.getMessage());
		}

//		Résoudre sur
		finally{
			try{
				if(con!= null){
//					Clore la connexion dans tous les cas
					con.close();
				}

			}
			catch(SQLException sqle){
				 System.err.println(sqle.getMessage());
			}

		}

	}

//	Exécution de la méthode updateData() de la classe UpdateDataApp
	public static void main(String[] args){
		UpdateDataApp updateDataApp = new UpdateDataApp();
		updateDataApp.updateData();

	}

}

5. Utiliser JDBC dans une JSP


Note: j’ai énormément de problèmes avec « Run On SERVEUR », cela ne remets pas à jour les JSP correctement.
:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>jdbc Example</title>
</head>

<body>

<!-- SET LE LANGAGE A JAVA ET IMPORTE LE PACKAGE JAVA.SQL  -->
<%@ page language="java" import="java.sql.*" %>

<%

Connection con = null;

try{
//	 Charge le driver mysql
	 Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/feedback","root","root");
    
//  Créer le statement
    Statement s = con.createStatement();
    
//	Lire une table 
    ResultSet rs =  s.executeQuery("SELECT * FROM titles");

//  Itérer sur l étendue des résultats

%>
<TABLE BORDER="1">
<TR>
<th>Titre</th><th>Note</th><th>Prix</th><th>Quantité</th>
<%


    while (rs.next()){
//   	  Obtenir le titre, qui est un string
   	 out.println("<TR>\n<TD>" +  rs.getString("title_name") + "</TD>");
   	out.println("<TD>" +  rs.getString("rating") + "</TD>");
   	out.println("<TD>" +  rs.getString("price") + "</TD>");
   	out.println("<TD>" +  rs.getString("quantity") + "</TD></TR>");
   	
    }
//        	 Fermer le résultat 
rs.close();
System.in.read();
}

//GESTION DES ERREURS

//catch(IOException ioe){
//	 System.err.println(ioe.getMessage());
//}

catch(SQLException sqle){
	 System.err.println(sqle.getMessage());
}

catch(ClassNotFoundException cnfe){
	System.err.println(cnfe.getMessage());
}
catch(Exception e){
	System.err.println(e.getMessage());
}

//Résoudre sur 
finally{
	try{
		if(con!= null){
//			Clore la connexion dans tous les cas
			con.close();					
		}
		
	}
	catch(SQLException sqle){
		 System.err.println(sqle.getMessage());
	}
	
}




    




%>
</TABLE>
</body>
</html>

Publicités