Aide en java

Fermé
ayas - 9 déc. 2004 à 16:42
 sbound - 9 déc. 2004 à 18:52
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
A voir également:

1 réponse

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