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édentesRévision précédente
Prochaine révision
Révision précédente
site:enseignement:licence:3i009:tme_jdbc_h2 [07/12/2020 16:33] amannsite:enseignement:licence:3i009:tme_jdbc_h2 [10/12/2020 12:19] (Version actuelle) – [Exercice 1 : Requêtes fixes] amine
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 : de amann