TD Java Java et les bases de données L`interface entre une base

TD Java Java et les bases de dones
L'interface entre une base dones et un programme Java sealise
par l'intermédiaire d'un driver JDBC ou pont ODBC-JDBC (Java
DataBase Connectivity).
En important le package "java.sql" et en installant un driver pour votre
SGBD, vous aurez la possibilité de rédiger des requêtes SQL vers une
base de données.
Nous allons utiliser le SGBDR MySQL, nous devons donc disposer d'un
driver adéquate : mm.mysql-2.0.4-bin.jar.
Nous devons installer ce driver dans un répertoire quelconque et le
référencer cepertoire dans le CLASSPATH. Au sein d'ECLIPSE, nous
avons une autre solution :
lection du projet : Properties. Sélection de "Java Build Path" dans la
fenêtre centrale, sélection de "Libraries", clic sur "Add external JARs",
navigation dans le répertoire etlection du fichier mm.mysql-2.0.4-
bin.jar.
Si vous avez déjà une base de dones, vous pouvez marrer MySQL.
Dans votre projet Eclipse, créez une classe et tapez le code suivant :
import java.sql.*;
public class Query1 {
public Query1()
{
String url = "jdbc:mysql://localhost:3306/film"; // film
est le nom de la BD
Connection con;
String query = "SELECT nat from director;"; // une requete
SQL Statement stmt;
try {
Driver mySQLDriver = new org.gjt.mm.mysql.Driver();
con = DriverManager.getConnection(url,"o" ,"ol" );
// o est le login du user et ol, le mot de passe
System.out.println("Con = " + con);
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.println(rs.getString(1));
}
stmt.close();
con.close();
} catch(SQLException ex) {
System.err.println("SQLException: " +
ex.getMessage());
}
}
public static void main(String args[])
{ Query1 query1 = new Query1();
}
}
Exemple sur les requêtes INSERT
import java.sql.*;
public class QueryInsert {
public QueryInsert()
{
String url = "jdbc:mysql://localhost:3306/film";
Connection con;
String query = "INSERT INTO director VALUES(3,'Peter
Jackson','NSL');";
Statement stmt;
try {
Driver mySQLDriver = new org.gjt.mm.mysql.Driver();
con = DriverManager.getConnection(url,"o" ,"ol" );
System.out.println("Con = " + con);
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
stmt.close();
con.close();
} catch(SQLException ex) {
System.err.println("SQLException: " +
ex.getMessage());
}
}
public static void main(String args[])
{ QueryInsert query = new QueryInsert();
}
}
et UPDATE (idem pour DELETE)
import java.sql.*;
public class QueryUpdate {
public QueryUpdate()
{
String url = "jdbc:mysql://localhost:3306/film";
Connection con;
String query = "UPDATE director SET nat='NZL' WHERE
director LIKE 'Peter Jackson';";
Statement stmt;
try {
Driver mySQLDriver = new org.gjt.mm.mysql.Driver();
con = DriverManager.getConnection(url,"o" ,"ol" );
System.out.println("Con = " + con);
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
stmt.close();
con.close();
} catch(SQLException ex) {
System.err.println("SQLException: " +
ex.getMessage());
}
}
public static void main(String args[])
{ QueryUpdate query = new QueryUpdate();
}
}
Exercice
A titre d'exemple, vous allez implémenter une application Java accédant à
une base de données dont le schéma sera le suivant :
etudiant (numEtud, nomEtud, prenomEtud, filiereEtud)
filiere (numFiliere, nomFiliere)
Vous devez créer le schéma sous mysql et peupler la bd avec des instances
(au moins 2 filières dont IMN et au moins 8 étudiants, repartis sur les 2
filières).
Vous devez développer des méthodes qui vont permettre :
l'affichage des étudiants d'une filière
l'affichqge de l'ensemble des étudiants (toutes les filières).
La modification du prénom d'un étudiant
L'ajout d'un nouvelle étudiant dans une certaine filière.
La suppression d'un étudiant d'une filière donnée.
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !