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
enseignement:d14:tp:tp6 [2016/02/23 11:43] Emmanuel Brunoenseignement:d14:tp:tp6 [2023/09/20 18:52] (Version actuelle) – modification externe 127.0.0.1
Ligne 7: Ligne 7:
  
 Il est aussi possible d'utiliser très simplement un serveur mysql (ou postgresql) avec [[https://www.docker.com/|Docker]] : Il est aussi possible d'utiliser très simplement un serveur mysql (ou postgresql) avec [[https://www.docker.com/|Docker]] :
 +
 +sous linux mint en root
 +
 +export http_proxy='http://user:password@proxy-host:proxy-port'
 +export https_proxy='http://user:password@proxy-host:proxy-port'
 +
 +# Add the repository to your APT sources
 +sudo echo deb https://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list
 +
 +sudo apt-get update
 +sudo apt-get install -y docker.io cgroup-lite apparmor
 +
 +sudo usermod -a -G docker $USER
 +
 +Edit /etc/defaults/docker and add the following lines:
 +export http_proxy='http://user:password@proxy-host:proxy-port'
 +
 +service docker restart
  
   docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ArraujUrb4 -d mysql   docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ArraujUrb4 -d mysql
Ligne 152: Ligne 170:
  
 ===== Pour finir ===== ===== Pour finir =====
-  - Créer une interface ''Entity'' qui impose les méthodes ''persist(Connection c)''''remove(Connection c)''et ''merge(Connection c)''. Créer une classe EntityManager qui offre les méthodes ''persist(Entity e)''''remove(Entity e)''et ''merge(Entity e)''C'est l'entity manager qui connait la datasource et passe les connections aux entités.   +  * Mettez en place un pool de connections avec Apache Commons DBCP : https://www.baeldung.com/java-connection-pooling 
-    - Créer une classe qui spécialise la classe Chien en implante l'interface précédente et qui permet de  +  * Créer une interface générique paramétrée par le type qui sera celui de votre entité (Personne, Chien, ...) cette interface proposera par exemple les methodes : T find(long id), List<T> findAll(), persist(T), update(T), remove(T). Vous pourrez ensuite améliorer cette interface. 
-    - Créer une instance unChien de Chien persistant. +  Créer une classe d'entité Personne, une classe DAOPersonne qui implante DAO<Personne>. 
-    - Tester : +  * Ajouter des méthodes spécifiques à la DAO.
-      - Invoquer ''EntityManager.persist(unChien)'' pour ajouter ce Chien dans la base de données +
-      - Modifier l'instance de Chien en mémoire (éventuellement plusieurs fois) et faire une mise à jour dans la base de données avec ''EntityManager.merge(unChien)''  +
-     - Et finalement de supprimer le Chien avec ''EntityManager.remove(unChien)''+
-  - Implanter dans la classe Chien des méthodes qui permettent de retrouver et d'instancier un ou des Chiens en fonction de différents critères : +
-    - ''Chien findById(...)'' +
-    - ''List<ChienfindByName(...)'', ..+
-      +
-En vous inspirant de cet exemple http://onjava.com/pub/a/onjava/excerpt/swinghks_hack24/index.html, créer une JTable qui permet d'afficher les Chiens contenus dans la base de données.+
  
 {{tag>D14 TP Java JDBC}} {{tag>D14 TP Java JDBC}}
- 
----- dataentry page ---- 
-type                 : TP 
-enseignement_tags    : D14 
-technologie_tags    : Java,JDBC 
-theme_tags          ; Base de données 
----- 
 ---- struct data ---- ---- struct data ----
 +metadata.level       : 
 +metadata.Type        : TP
 +metadata.Nom         : 
 +metadata.Enseignements : D14
 +metadata.Promotions 
 +metadata.Technologies : Java, JDBC
 +metadata.Thèmes     : Base de données
 +metadata.Description : 
 ---- ----