Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| enseignement:d14:tp:tp6 [2014/02/22 23:23] – Emmanuel Bruno | enseignement:d14:tp:tp6 [2023/09/20 18:52] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 4: | Ligne 4: | ||
| Attention, Java utilise par défaut IPV6 et cela pose des problèmes en TP pour forcer IPV4 suivre les instructions suivantes : [[java: | Attention, Java utilise par défaut IPV6 et cela pose des problèmes en TP pour forcer IPV4 suivre les instructions suivantes : [[java: | ||
| - | Pour éditer | + | Ce TP peut être fait en utilisant en particulier postgresql (installé en salle de TP) ou la base de données |
| - | ===== Utilisation simple de JDBC ===== | + | Il est aussi possible d' |
| - | | + | sous linux mint en root |
| - | - Créer une classe que se connecte à votre base de donnée | + | |
| - | - Ajouter une méthode qui affiche la liste des journaux en utilisant un Statment | + | export http_proxy=' |
| - | - Créer une fonction | + | export https_proxy=' |
| - | - En utilisant un PreparedStamement, | + | |
| + | # Add the repository to your APT sources | ||
| + | sudo echo deb https:// | ||
| + | |||
| + | sudo apt-get update | ||
| + | sudo apt-get install -y docker.io cgroup-lite apparmor | ||
| + | |||
| + | sudo usermod -a -G docker $USER | ||
| + | |||
| + | Edit / | ||
| + | export http_proxy=' | ||
| + | |||
| + | service docker restart | ||
| + | |||
| + | docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ArraujUrb4 -d mysql | ||
| + | |||
| + | Pour éditer la base de données vous pouvez utiliser | ||
| + | |||
| + | ===== Utilisation simple | ||
| + | - Avec le script {{: | ||
| + | - Créer une classe que se connecte à votre base de donnée. Pensez à mettre en place correctement les librairies nécessaires. Pour le moment, la connexion | ||
| + | - Ajouter une méthode qui affiche la liste des journaux en utilisant un '' | ||
| + | - Créer une méthode '' | ||
| + | - En utilisant un '' | ||
| ===== Utilisation des métadonnées ===== | ===== Utilisation des métadonnées ===== | ||
| Ligne 20: | Ligne 43: | ||
| ===== Batch Update ===== | ===== Batch Update ===== | ||
| - Utiliser les batch update pour ajouter des journaux en lisant un fichier texte formaté ('' | - Utiliser les batch update pour ajouter des journaux en lisant un fichier texte formaté ('' | ||
| + | |||
| + | <code java> | ||
| + | // Création d'un requete | ||
| + | PreparedStatemen pstmt = | ||
| + | conn.prepareStatement(" | ||
| + | |||
| + | //On ajoute les exécution une à une ... | ||
| + | conn.setAutoCommit(false); | ||
| + | |||
| + | // On fixe les paramètres de la première requête à exécuter | ||
| + | pstmt.setString( 1, " | ||
| + | pstmt.setString( 2, " | ||
| + | pstmt.setString( 3, " | ||
| + | // Et on l' | ||
| + | pstmt.addBatch(); | ||
| + | |||
| + | // On fixe les paramètres de la seconde requête à exécuter | ||
| + | pstmt.setString( 1, " | ||
| + | pstmt.setString( 2, " | ||
| + | pstmt.setString( 3, " | ||
| + | // Et on l' | ||
| + | pstmt.addBatch(); | ||
| + | |||
| + | // On ajoute autant de requêtes que nécessaire | ||
| + | //Par exemple en lisant un flux de données. | ||
| + | . | ||
| + | . | ||
| + | . | ||
| + | . | ||
| + | //On créée un tableau d' | ||
| + | //et on execute toutes les mises à jour en une fois. | ||
| + | int[] count = stmt.executeBatch(); | ||
| + | |||
| + | //On valide les changements. | ||
| + | conn.commit(); | ||
| + | </ | ||
| ===== Utilisation d'un pool de connexion ===== | ===== Utilisation d'un pool de connexion ===== | ||
| En utilisant la classe suivante, utiliser maintenant un pool de connexion au lieu d'une variable globale. | En utilisant la classe suivante, utiliser maintenant un pool de connexion au lieu d'une variable globale. | ||
| + | L' | ||
| <code java DatabaseManager.java> | <code java DatabaseManager.java> | ||
| Ligne 111: | Ligne 170: | ||
| ===== Pour finir ===== | ===== Pour finir ===== | ||
| - | - Créer une interface '' | + | |
| - | | + | |
| - | - Créer une instance de Chien | + | |
| - | - D' | + | * Ajouter des méthodes spécifiques à la DAO. |
| - | - De modifier l' | + | |
| - | - De faire une mise à jour dans la base de données avec '' | + | |
| - | - Et finalement de supprimer le Chien avec remove. | + | |
| - | - Implanter des méthodes qui permettent de retrouver et d' | + | |
| - | - Chien findById(...) | + | |
| - | - List<Chien> findByName(...), ... | + | |
| - | | + | |
| {{tag> | {{tag> | ||
| - | |||
| - | ---- dataentry page ---- | ||
| - | type : TP | ||
| - | enseignement_tags | ||
| - | technologie_tags | ||
| - | theme_tags | ||
| - | ---- | ||
| ---- struct data ---- | ---- struct data ---- | ||
| + | metadata.level | ||
| + | metadata.Type | ||
| + | metadata.Nom | ||
| + | metadata.Enseignements : D14 | ||
| + | metadata.Promotions | ||
| + | metadata.Technologies : Java, JDBC | ||
| + | metadata.Thèmes | ||
| + | metadata.Description : | ||
| ---- | ---- | ||