Aide en java

ayas -  
 sbound -
salut
je veut savoir comment exact programmer de bases da donnees sous java
comment confogurer l'envirenement
les logeciel necessaire pour faire ca .
et ou je trouve les docs de ce tytre exactemment.
j'ai le j2sdk.installé est ce que les applicatio de bd sont execute de meme comme les autres.(java <nompro>).
merci de prend en compte mon prob.
merci

1 réponse

  1. sbound
     
    Salut,
    Il te faut:
    - un serveur de bdd installé (eg: gratuit mysql [http://easyphp.org/]), une session dessus (ie login + mot de passe)
    - un "driver" jdbc correspondant à ton serveur de bdd (eg gratuit pour mysql [http://www.mysql.com/products/connector/j/])
    - écrire un programme qui peut envoyer/recevoir des choses avec le serveur de bdd via le dit "driver"
    - Les requêtes sql sont manipulées dans le programme comme des String.

    Voici un exemple de programme basique(ptit kompil) qui:
    - exécute une commande pour écrire dans une bdd mysql
    - récupère sous forme de Vector des données avec une requête select
    Tu peux trouver plein de docs sur jdbc sur le net, dont le tutorial de Sun: [http://java.sun.com/docs/books/tutorial/jdbc/]

    
    import java.sql.*;
    import java.util.*; 
    
    public class Connect {
    
    
    	//Pour ajouter un enregistrement
            //reqInsert est une commande (SQL) INSERT
    	public static void dbAjout(String reqInsert){
            		
    		try{
    			Class.forName("com.mysql.jdbc.Driver").newInstance();	
    			//A modifier en fonction de la base de donnees
                            //Ici, la base de données s'appelle: MaBase
                            //le login est: Moi
                            //le mot de passe est: Blabla
    			String cs = "jdbc:mysql://localhost/MaBase?user=Moi&password=Blabla";
    			Connection conn = DriverManager.getConnection(cs);
    			Statement stat = conn.createStatement();
    			
    			stat.executeUpdate(reqInsert);
    			
    		        stat.close();
    			conn.close();	   
    		}catch(Exception e){
    			System.out.println(e);
    		}
    		
    	} 
            
            
            
            //Pour récupérer des données de la base de données
            //reqSelect est la commande (SQL) avec SELECT
            
    	public static Vector  dbRead(String reqSelect){
    		/*
    		 * Retourne un vecteur a partir des resultats d'une requete reqSelect
    		 * */
    		try{
    				Class.forName("com.mysql.jdbc.Driver").newInstance();	
    				String cs = "jdbc:mysql://localhost/MaBase?user=Moi&password=Blabla";
    					Connection conn = DriverManager.getConnection(cs);
    					Statement stat = conn.createStatement();
                                            
                                            //Notes que c'est ResultSet, et la méthode est executeQuery
    					ResultSet rs = stat.executeQuery(reqSelect);
    					
    					
    					//nombre des colonnes
    					ResultSetMetaData rsmd = rs.getMetaData();
    					int nbCol = rsmd.getColumnCount();
    					
    					
    					//Les données ligne par ligne
    					Vector Rows = new Vector();
    					
    					while(rs.next()){
    						Vector LigneSuivante = new Vector();
    						for (int i=1; i<=nbCol; i++){
    							LigneSuivante.addElement(rs.getObject(i));
    						}
                                                    
                                                    Rows.addElement(LigneSuivante);
    					}
    					
    					
    					   // Tout fermer
    					   rs.close();
    					   stat.close();
    					   conn.close();
    					   //retourne
                                               return Rows;
    					   
    			}catch(Exception e){
    				e.printStackTrace();
    				System.out.println(e);
    				return null;
    			}		
    	}//end dbRead	
    }
    
    


    ps: Il n'y a pas que mysql; Et il peut y avoir un choix sur les drivers à utiliser pour une même base de données.
    0