Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:licence:3i009:tme_jdbc_h2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
site:enseignement:licence:3i009:tme_jdbc_h2 [07/12/2020 16:33]
amann
site:enseignement:licence:3i009:tme_jdbc_h2 [10/12/2020 12:19] (Version actuelle)
amine [Exercice 1 : Requêtes fixes]
Ligne 2: Ligne 2:
  
 ====== TME 8 JDBC (H2) ====== ====== TME 8 JDBC (H2) ======
-**En construction** 
  
 Consulter la brève introduction à JDBC vue en cours {{:​site:​enseignement:​licence:​3i009:​i3009coursjdbc.pdf|pdf}} Consulter la brève introduction à JDBC vue en cours {{:​site:​enseignement:​licence:​3i009:​i3009coursjdbc.pdf|pdf}}
Ligne 32: Ligne 31:
  
 Pour compiler un fichier source //​Fichier.java//​ en utilisant une librairie externe //lib.jar// taper Pour compiler un fichier source //​Fichier.java//​ en utilisant une librairie externe //lib.jar// taper
-<​code>​ javac -cp lib.jar Fichier.java </​code>​+ 
 +Linux et Mac: 
 +<​code>​ javac -cp .:lib.jar Fichier.java </​code>​ 
 + 
 +Windows: 
 +<​code>​ javac -cp .;lib.jar Fichier.java </​code>​ 
 <showif isloggedin>​ <showif isloggedin>​
 <fc #​008000>​Attention:</​fc>​ <fc #​008000>​Attention:</​fc>​
 </​showif>​ </​showif>​
-Attention: Si le fichier Fichier.java fait référence à une classe MaClasse définies dans le fichier MaClasse.java,​ il faut compiler tous les fichiers ensembles: 
-<​code>​ javac -cp lib.jar Fichier.java MaClasse.java </​code>​ 
  
  
-Cette commande ​ va créer un binaire appelé //​Fichier.class//​. ​+Cette commande ​ va créer un binaire appelé //​Fichier.class// ​(et //​MaClasse.java//​)
 Pour exécuter le programme taper Pour exécuter le programme taper
-<​code>​ java -cp lib.jar Fichier </​code>​+ 
 +Linux et Mac: 
 +<​code>​ java -cp .:lib.jar Fichier </​code>​ 
 + 
 +Windows: 
 +<​code>​ java -cp .;lib.jar Fichier </​code>​
  
 **Remarques** **Remarques**
  
-  * Afin d'​éviter les erreurs de compilation dues à l'​utilisation de caractères accentués dans les fichiers sources, compiler ces derniers en tapant <​code>​javac -encoding UTF-8 Fichier.java</​code>​+  * Afin d'​éviter les erreurs de compilation dues à l'​utilisation de caractères accentués dans les fichiers sources, compiler ces derniers en tapant ​ 
 +<​code>​javac -encoding UTF-8 Fichier.java</​code>​
   * Les étudiants souhaitant utiliser l'IDE Eclipse peuvent se réferer à la rubrique **Configuration d'​Eclipse** à la fin de la page. A défaut, utiliser un éditeur texte qui reconnait la syntaxe Java (tel que emacs).   * Les étudiants souhaitant utiliser l'IDE Eclipse peuvent se réferer à la rubrique **Configuration d'​Eclipse** à la fin de la page. A défaut, utiliser un éditeur texte qui reconnait la syntaxe Java (tel que emacs).
  
Ligne 53: Ligne 62:
 */ */
  
-Télécharger l'​archive {{ :​site:​enseignement:​licence:​3i009:​tmejdbc-h2.tgz |TMEJDBC-H2}} contenant les sources +Télécharger l'​archive {{ :​site:​enseignement:​licence:​3i009:​tmejdbc-h2.zip |TMEJDBC-H2}} contenant les sources puis décompresser et extraire son contenu ​avec la commande zip ou tar.
- +
-puis extraire son contenu ​en tapant+
  
 +AVec tar:
 <code bash> <code bash>
-tar xzf TMEJDBC-H2.tgz +tar xzf TMEJDBC-H2.zip 
 cd TMEJDBC-H2 cd TMEJDBC-H2
 </​code>​ </​code>​
Ligne 71: Ligne 79:
  
 <code bash> <code bash>
-java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -tcpPort 9093  &+java -cp h2-1.4.200.jar org.h2.tools.Server ​-ifNotExists ​-tcp -tcpPort 9093  &
 </​code>​ </​code>​
  
 ==== Chargement des données ==== ==== Chargement des données ====
-Pour charger les données, taper les commandes suivantes :+
  
 <showif isloggedin>​ <showif isloggedin>​
-<fc #008000>Sous windows java -cp h2*.jar ne marche ​pas. J'​ai ​remplacé ​par le chemin exact.</​fc>​+<fc #008000>La base H2 ~/test n'​existe ​pas par défaut. Il faut la créer d'​abord en utilisant le menu du serveur (icone dans la barre). J'​ai ​créé une base par défaut jdbc (user: jdbc, password: jdbc) qui est inclus dans le fichier jar.</​fc>​
 </​showif>​ </​showif>​
 +
 +Il existe déjà une base par défaut H2/jdbc (user: jdbc, password: jdbc).
 +Pour charger les données, taper les commandes suivantes :
  
 <showif isloggedin>​ <showif isloggedin>​
-<fc #008000>Si la base H2 ~/test n'​existe ​pas, il faut la créer d'​abord en utilisant le menu du serveur (icone dans la barre). J'​ai ​créé une base par défaut jdbc (user: jdbc, password: jdbc) qui est inclus dans le fichier jar.</​fc>​+<fc #008000>Sous windows java -cp h2*.jar ne marche ​pas. J'​ai ​remplacé ​par le chemin exact.</​fc>​
 </​showif>​ </​showif>​
  
-Il existe déjà une base par défut ​H2/​jdbc ​(userjdbcpassword: jdbc):+Linux et Mac: 
 + 
 +<code bash> 
 +java -cp .:​h2-1.4.200.jar org.h2.tools.RunScript -url jdbc:h2:./H2/​jdbc ​-user jdbc -password ​jdbc -script creations.sql 
 +java -cp .:h2-1.4.200.jar org.h2.tools.RunScript -url jdbc:​h2:​./​H2/​jdbc -user jdbc -password jdbc -script insertions.sql 
 +</​code>​ 
 + 
 +Windows
  
 <code bash> <code bash>
-java -cp h2-1.4.200.jar org.h2.tools.RunScript -url jdbc:​h2:​H2/​jdbc -user jdbc -password jdbc -script creations.sql +java -cp .;h2-1.4.200.jar org.h2.tools.RunScript -url jdbc:h2:./H2/jdbc -user jdbc -password jdbc -script creations.sql 
-java -cp h2-1.4.200.jar org.h2.tools.RunScript -url jdbc:​h2:​H2/​jdbc -user jdbc -password jdbc -script insertions.sql+java -cp .;h2-1.4.200.jar org.h2.tools.RunScript -url jdbc:h2:./H2/jdbc -user jdbc -password jdbc -script insertions.sql
 </​code>​ </​code>​
  
Ligne 102: Ligne 120:
 Compiler puis exécuter //​Tmejdbc.java//​ en tapant Compiler puis exécuter //​Tmejdbc.java//​ en tapant
  
-<showif isloggedin+Linux et Mac (compilation):​ 
-<fs x-large><​fc #​008000>​Il faut compiler les trois fichiers ​.java ensemble</​fc></​fs>​ +<code bash
-</showif>+javac -cp .:​h2-1.4.200.jar Tmejdbc.java  
 +</code>
  
 +Windows ​ (compilation):​
 <code bash> <code bash>
-javac -cp h2-1.4.200.jarTmejdbc.java Connexion.java TestConnexion.java +javac -cp .;h2-1.4.200.jar Tmejdbc.java  
-java -cp h2-1.4.200.jar:​ Tmejdbc+</​code>​
  
 +
 +Mac et Linux  (exécution):​
 +<code bash>
 +java -cp .:​h2-1.4.200.jar Tmejdbc
 +</​code>​
 +Windows ​ (exécution):​
 +<code bash>
 +java -cp .;​h2-1.4.200.jar Tmejdbc
 </​code>​ </​code>​
  
Ligne 140: Ligne 168:
 pour cette question, rajouter dans  //​Tmejdbc.java//​ les deux lignes suivantes qui permettent d'​instancier ​ pour cette question, rajouter dans  //​Tmejdbc.java//​ les deux lignes suivantes qui permettent d'​instancier ​
 un objet de la classe //​afficherJoueurs//​ et d'​exécuter sa méthode //​executer()//​. un objet de la classe //​afficherJoueurs//​ et d'​exécuter sa méthode //​executer()//​.
 +
 <code java> <code java>
  
Ligne 181: Ligne 210:
 </​code>​ </​code>​
 </​showif>​ </​showif>​
 +
 +Il faut recompiler Tmejdbc.java et afficherJoueurs.java:​
 +
 +Linux et Mac:
 +<code bash>
 +javac -cp .:​h2-1.4.200.jar Tmejdbc.java afficherJoueurs.java
 +</​code>​
 +
 +Windows:
 +<code bash>
 +javac -cp .;​h2-1.4.200.jar Tmejdbc.java afficherJoueurs.java
 +</​code>​
 +et ensuite exécuter le programme principal:
 +Mac et Linux:
 +<code bash>
 +java -cp .:​h2-1.4.200.jar Tmejdbc
 +</​code>​
 +<code bash>
 +java -cp .;​h2-1.4.200.jar Tmejdbc
 +</​code>​
 +
 +
 +
  
 2- Modifier ​ //​afficherDuels.java//​ pour afficher les joueurs qui se sont affrontés à Roland Garros en 1994. 2- Modifier ​ //​afficherDuels.java//​ pour afficher les joueurs qui se sont affrontés à Roland Garros en 1994.
Ligne 212: Ligne 264:
 public class sponsorPrimes { public class sponsorPrimes {
         public void executer(Connexion conn) {         public void executer(Connexion conn) {
-            String requete = "​select ​Sponsor, max(Prime) as max_prime from Gain group by Sponsor ​order by max_prime desc ";+            String requete = "​select ​nomsponsor, max(Prime) as max_prime from Gain group by nomsponsor ​order by max_prime desc ";
                 try {                 try {
                         Statement lecture =  conn.connexion.createStatement();​                         Statement lecture =  conn.connexion.createStatement();​
site/enseignement/licence/3i009/tme_jdbc_h2.1607355234.txt.gz · Dernière modification: 07/12/2020 16:33 par amann