MySQL et le langage Java
1) JDBC et API en langage Java
Pour Java, il faut récuperer le package mm.mysql.jdbc-2.0pre5.tar.gz
La liste de tous les versions est disponible ici.
Ensuite il suffit d'ajouter le jar dans la variable d'environnement CLASSPATH.
Des infos supplémentaires sont disponibles ici.
Nous avons les principaux interfaces suivants :
1 . java.sql.DriverManager
Gère les drivers JDBC
on peut indiquer un Driver, qui existe:
try {
Class.forName("org.gjt.mm.mysql.Driver");
} catch(Exception ex) {
.........
return; }2. java.sql.Connection
représente une connexion ouverte permet d'obtenir de la méta-information sur les tables (et autres)Bout de code:String url = "jdbc:mysql://localhost/maBase";
String user = "nobody";
String password = null;
Connection con = DriverManager.getConnection(url, user, password);3. java. sql.Statement
permet d'envoyer un statement SQL vers la base de données le résultat de la requête va se retrouver dans un ResultSet Bout de code:String query = "select .....";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(queryString);4. java.sql.Resultset
Le Resultset (résultat d'une requête) est un objet spécial On y accède ligne par ligne uniquement (méthode next ) De chaque ligne , on extrait les "colonnes"avec des méthodes getXXX La méthode getString marche un peu près avec tout Bout de code:while (rs.next()) {
String s = rs.getString("COF_NAME");
float n = rs.getFloat("PRICE");
System.out.println(s + " " + n);
}2) Exemple simple
import java.sql.*; public class myClient { public static void main(String[] args) { try { Class.forName("org.gjt.mm.mysql.Driver").newInstance(); Connection Conn = DriverManager.getConnection("jdbc:mysql://localhost/etudiant?user=fred&password=fred"); Statement Stmt = Conn.createStatement(); ResultSet RS = Stmt.executeQuery(args[0]); while (RS.next()) { System.out.println(RS.getInt(1) + " | " + RS.getString(2) + " | " + RS.getString(3)); } RS.close(); Stmt.close(); Conn.close(); } catch (Exception E) { E.printStackTrace(); } } }