SlideShare une entreprise Scribd logo

Connexion jdbc

Ines Ouaz
Ines Ouaz

Connexion JDBC Singleton Modele en couche Couche DAO

1  sur  15
Télécharger pour lire hors ligne
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
25 mars
2015
1
Accès à la base de données via JDBC
1. Connexion de la base de données
Création de la base de données E-COMMERCE :
Vous donnez un nom à votre base de données selon votre choix par exemple : e-commerce
On va créer deux tables dans la base : la table produit et la table categorie selon le
diagramme de classes produit suivant :
La structure de la table PRODUIT est la suivante :
Code SQL de la table PRODUIT
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
25 mars
2015
2
La structure de la table CATEGORIE
Code SQL de la table CATEGORIE
Insérer un enregistrement dans la table CATEGORIE et deux enregistrements dans la table
PRODUIT.
2. Création d’un projet JAVA APPLICATION_JDBC
Ajouter la librairie adéquate à la CLASSPATH du projet mysql-connector-java-version.jar
Etapes d’ajout de la lib :
1- Cliquez properties du projet
2- Cliquez sur Java Build Path
3- Selectionnez ADD Jars > choisir la librairie
adéquate> Finir par OK
4- La librairie sera ajoutée à la CLASSPATH du
projet et vous pouvez vérifier ça comme
suit :
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
25 mars
2015
3
Exemple 1 :
On va implémenter une classe de test pour vous montrer en premier lieu comment
se connecter à une base de données via JDBC (Java DataBase Connectivity). On doit
connaitre 4 informations nécessaires pour pouvoir accéder à la base : DRIVER, URL, LOGIN et
PASSWORD.
Un simple exemple de connexion à la base de données et d’exécution d’une requête de
recherche (SELECT). Vous pouvez juste tester l’exécution de ce petit code dans une
méthode
main ().
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
25 mars
2015
4
Résultat de l’exécution de notre classe de test. On va implémenter une deuxième
méthode pour un projet structuré sous forme de package tout en suivant l’architecture du
modèle en couche.
Exemple 2 : Mapping objet relationnel
Nous souhaitons créer une application java qui permet de :
 Enregistrer une categorie
 Enregistrer un produit
 Saisir au clavier un mot clé et d’afficher tous les produits dont le nom contient ce mot
clé.
Dans cette application, nous devons séparer la couche métier de la couche présentation.
Création de l’entité Produit comme étant une classe Java Produit.java contenant les attributs
et les méthodes getters et setters ainsi que les constructeurs et la classe Categorie.java.
Architecture du projet et comme indiqué sur la
photo, il y aura 4 package à créer :
 Package 1 : def.jdbc.dto  c’est un
package contenant les entités relatifs à
tout projet
 Package 2 : def.jdbc.dao  c’est un
package contenant les classes
implémentant nos requêtes et tout accès à
la base de données
 Package 3 : def.jdbc.metier  c’est un
package contenant n’importe quel autre
traitement comme calcul, envoie de mail…
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
25 mars
2015
5
 Package 3 : def.jdbc.presentation  c’est un package contenant toutes les interfaces
graphique de notre application mais vu qu’on ne va pas faire cette partie maintenant,
on va juste la consacrer pour mettre notre classe de test main.
I. Préparation des entités DTO (Objet de transfert de données : entités)
On va commencer par créer nos classes Produit et Categorie dans le package dto :
1. CREATION DE L’ENTITE PRODUIT
On doit définir dans cette classe ce qui suit :
 Les attributs qui doivent être privées.
Il y a une relation entre la table PRODUIT et la table CATEGORIE de la manière
suivante : un produit appartient à une catégorie et une catégorie contient une liste de
produit. On doit définir ça coté objet.
 Il faut définir un objet catégorie de type Classe Categorie dans la classe Produit
 Il faut définir une Liste d’objet de type Classe Produit dans la classe Categorie
 Les constructeurs selon notre besoin
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
25 mars
2015
6
 Les getters et setters de chaque attribut.
Il faut définir tout les getters et setter sans exception dans la classe Produit. Il faut faire de
même pour la classe Categorie.
2. CREATION DE L’ENTITE CATEGORIE
Définir les attributs de la classe Categorie, on doit définir une liste de produits de type
Produit. Faisant la même chose en définissant les constructeurs et les getters et les setters
de la classe.
Publicité

Recommandé

Contenu connexe

Tendances

Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...ENSET, Université Hassan II Casablanca
 
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeGestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeMongoDB
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateYouness Boukouchi
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
CV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EECV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EESid Ahmed Benkraoua
 
Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Faycel Chaoua
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyENSET, Université Hassan II Casablanca
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 
Presentation of framework Angular
Presentation of framework AngularPresentation of framework Angular
Presentation of framework AngularLhouceine OUHAMZA
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataLhouceine OUHAMZA
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...ENSET, Université Hassan II Casablanca
 

Tendances (20)

Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
Conférence: Catalyseurs de l'Intelligence Artificielle et Écosystème des Fram...
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeGestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Tp java ee.pptx
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
 
Cours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observerCours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observer
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
CV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EECV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EE
 
Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2Manuel des TP : Atelier Web 2
Manuel des TP : Atelier Web 2
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Presentation of framework Angular
Presentation of framework AngularPresentation of framework Angular
Presentation of framework Angular
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 

En vedette

Prototype rapport
Prototype rapportPrototype rapport
Prototype rapportInes Ouaz
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesInes Ouaz
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionInes Ouaz
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Ines Ouaz
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouazInes Ouaz
 

En vedette (6)

Prototype rapport
Prototype rapportPrototype rapport
Prototype rapport
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouaz
 

Similaire à Connexion jdbc

Framework Hibernate
Framework HibernateFramework Hibernate
Framework HibernateInes Ouaz
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db firstZineb ELGARRAI
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniterAtsé François-Xavier KOBON
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateInes Ouaz
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1ATHMAN HAJ-HAMOU
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPressChi Nacim
 
atam guide de developpement v1.3
atam guide de developpement v1.3atam guide de developpement v1.3
atam guide de developpement v1.3Abdessamad Hamouch
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPkemenaran
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à ZMicrosoft
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1Sem Koto
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1Sem Koto
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008Abdelouahed Abdou
 
chap3 conception et implementation
chap3 conception et implementation chap3 conception et implementation
chap3 conception et implementation michel martiz
 
Formation Efficy CRM - Technical training
Formation Efficy CRM - Technical trainingFormation Efficy CRM - Technical training
Formation Efficy CRM - Technical trainingEfficy CRM
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zinebZineb ELGARRAI
 

Similaire à Connexion jdbc (20)

3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db first
 
575
575575
575
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
 
Formation cakephp
Formation cakephpFormation cakephp
Formation cakephp
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & Hibernate
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPress
 
Springioc
SpringiocSpringioc
Springioc
 
atam guide de developpement v1.3
atam guide de developpement v1.3atam guide de developpement v1.3
atam guide de developpement v1.3
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHP
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à Z
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
 
chap3 conception et implementation
chap3 conception et implementation chap3 conception et implementation
chap3 conception et implementation
 
Formation Efficy CRM - Technical training
Formation Efficy CRM - Technical trainingFormation Efficy CRM - Technical training
Formation Efficy CRM - Technical training
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
 

Plus de Ines Ouaz

Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'artInes Ouaz
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz InesInes Ouaz
 
Environnement java
Environnement javaEnvironnement java
Environnement javaInes Ouaz
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASDInes Ouaz
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHPInes Ouaz
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap IIIInes Ouaz
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap IIInes Ouaz
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap IInes Ouaz
 

Plus de Ines Ouaz (11)

Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz Ines
 
Environnement java
Environnement javaEnvironnement java
Environnement java
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHP
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap II
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
 

Dernier

Marseille XIXe fiche de travail 2024.pdf
Marseille XIXe fiche de travail 2024.pdfMarseille XIXe fiche de travail 2024.pdf
Marseille XIXe fiche de travail 2024.pdfNadineHG
 
Modulation Fm Tp presentation avancée USTHB
Modulation Fm Tp presentation avancée USTHBModulation Fm Tp presentation avancée USTHB
Modulation Fm Tp presentation avancée USTHBUsaPlay2
 
Fabriquer une femme.Livre écrit par Marie Darrieussecq
Fabriquer une femme.Livre écrit par Marie DarrieussecqFabriquer une femme.Livre écrit par Marie Darrieussecq
Fabriquer une femme.Livre écrit par Marie DarrieussecqTxaruka
 
Français langue étrangère: L'impératif présent 2024
Français langue étrangère: L'impératif présent 2024Français langue étrangère: L'impératif présent 2024
Français langue étrangère: L'impératif présent 2024Paulo Marques
 
Offres d'emploi (Mise à Jour le 19/02).pptx
Offres d'emploi (Mise à Jour le 19/02).pptxOffres d'emploi (Mise à Jour le 19/02).pptx
Offres d'emploi (Mise à Jour le 19/02).pptxMissionLocale
 
Calendrier de la semaine du 19 au 23 février 2024
Calendrier de la semaine du 19 au 23 février 2024Calendrier de la semaine du 19 au 23 février 2024
Calendrier de la semaine du 19 au 23 février 2024frizzole
 
Activités mercredis cycle 3 - año 2020.pdf
Activités mercredis cycle 3 - año 2020.pdfActivités mercredis cycle 3 - año 2020.pdf
Activités mercredis cycle 3 - año 2020.pdfLallaJamilaFtaich1
 
Français langue étrangère: Le but et l'obligation 2024
Français langue étrangère: Le but et l'obligation 2024Français langue étrangère: Le but et l'obligation 2024
Français langue étrangère: Le but et l'obligation 2024Paulo Marques
 
antigone de jean Anouilh la tragédie moderne
antigone de jean Anouilh la tragédie moderneantigone de jean Anouilh la tragédie moderne
antigone de jean Anouilh la tragédie moderneayoubrhammadi2
 
Le langage n'est-il qu'un instrument de communication ? (V2)
Le langage n'est-il qu'un instrument de communication ? (V2)Le langage n'est-il qu'un instrument de communication ? (V2)
Le langage n'est-il qu'un instrument de communication ? (V2)Gabriel Gay-Para
 

Dernier (10)

Marseille XIXe fiche de travail 2024.pdf
Marseille XIXe fiche de travail 2024.pdfMarseille XIXe fiche de travail 2024.pdf
Marseille XIXe fiche de travail 2024.pdf
 
Modulation Fm Tp presentation avancée USTHB
Modulation Fm Tp presentation avancée USTHBModulation Fm Tp presentation avancée USTHB
Modulation Fm Tp presentation avancée USTHB
 
Fabriquer une femme.Livre écrit par Marie Darrieussecq
Fabriquer une femme.Livre écrit par Marie DarrieussecqFabriquer une femme.Livre écrit par Marie Darrieussecq
Fabriquer une femme.Livre écrit par Marie Darrieussecq
 
Français langue étrangère: L'impératif présent 2024
Français langue étrangère: L'impératif présent 2024Français langue étrangère: L'impératif présent 2024
Français langue étrangère: L'impératif présent 2024
 
Offres d'emploi (Mise à Jour le 19/02).pptx
Offres d'emploi (Mise à Jour le 19/02).pptxOffres d'emploi (Mise à Jour le 19/02).pptx
Offres d'emploi (Mise à Jour le 19/02).pptx
 
Calendrier de la semaine du 19 au 23 février 2024
Calendrier de la semaine du 19 au 23 février 2024Calendrier de la semaine du 19 au 23 février 2024
Calendrier de la semaine du 19 au 23 février 2024
 
Activités mercredis cycle 3 - año 2020.pdf
Activités mercredis cycle 3 - año 2020.pdfActivités mercredis cycle 3 - año 2020.pdf
Activités mercredis cycle 3 - año 2020.pdf
 
Français langue étrangère: Le but et l'obligation 2024
Français langue étrangère: Le but et l'obligation 2024Français langue étrangère: Le but et l'obligation 2024
Français langue étrangère: Le but et l'obligation 2024
 
antigone de jean Anouilh la tragédie moderne
antigone de jean Anouilh la tragédie moderneantigone de jean Anouilh la tragédie moderne
antigone de jean Anouilh la tragédie moderne
 
Le langage n'est-il qu'un instrument de communication ? (V2)
Le langage n'est-il qu'un instrument de communication ? (V2)Le langage n'est-il qu'un instrument de communication ? (V2)
Le langage n'est-il qu'un instrument de communication ? (V2)
 

Connexion jdbc

  • 1. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 1 Accès à la base de données via JDBC 1. Connexion de la base de données Création de la base de données E-COMMERCE : Vous donnez un nom à votre base de données selon votre choix par exemple : e-commerce On va créer deux tables dans la base : la table produit et la table categorie selon le diagramme de classes produit suivant : La structure de la table PRODUIT est la suivante : Code SQL de la table PRODUIT
  • 2. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 2 La structure de la table CATEGORIE Code SQL de la table CATEGORIE Insérer un enregistrement dans la table CATEGORIE et deux enregistrements dans la table PRODUIT. 2. Création d’un projet JAVA APPLICATION_JDBC Ajouter la librairie adéquate à la CLASSPATH du projet mysql-connector-java-version.jar Etapes d’ajout de la lib : 1- Cliquez properties du projet 2- Cliquez sur Java Build Path 3- Selectionnez ADD Jars > choisir la librairie adéquate> Finir par OK 4- La librairie sera ajoutée à la CLASSPATH du projet et vous pouvez vérifier ça comme suit :
  • 3. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 3 Exemple 1 : On va implémenter une classe de test pour vous montrer en premier lieu comment se connecter à une base de données via JDBC (Java DataBase Connectivity). On doit connaitre 4 informations nécessaires pour pouvoir accéder à la base : DRIVER, URL, LOGIN et PASSWORD. Un simple exemple de connexion à la base de données et d’exécution d’une requête de recherche (SELECT). Vous pouvez juste tester l’exécution de ce petit code dans une méthode main ().
  • 4. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 4 Résultat de l’exécution de notre classe de test. On va implémenter une deuxième méthode pour un projet structuré sous forme de package tout en suivant l’architecture du modèle en couche. Exemple 2 : Mapping objet relationnel Nous souhaitons créer une application java qui permet de :  Enregistrer une categorie  Enregistrer un produit  Saisir au clavier un mot clé et d’afficher tous les produits dont le nom contient ce mot clé. Dans cette application, nous devons séparer la couche métier de la couche présentation. Création de l’entité Produit comme étant une classe Java Produit.java contenant les attributs et les méthodes getters et setters ainsi que les constructeurs et la classe Categorie.java. Architecture du projet et comme indiqué sur la photo, il y aura 4 package à créer :  Package 1 : def.jdbc.dto  c’est un package contenant les entités relatifs à tout projet  Package 2 : def.jdbc.dao  c’est un package contenant les classes implémentant nos requêtes et tout accès à la base de données  Package 3 : def.jdbc.metier  c’est un package contenant n’importe quel autre traitement comme calcul, envoie de mail…
  • 5. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 5  Package 3 : def.jdbc.presentation  c’est un package contenant toutes les interfaces graphique de notre application mais vu qu’on ne va pas faire cette partie maintenant, on va juste la consacrer pour mettre notre classe de test main. I. Préparation des entités DTO (Objet de transfert de données : entités) On va commencer par créer nos classes Produit et Categorie dans le package dto : 1. CREATION DE L’ENTITE PRODUIT On doit définir dans cette classe ce qui suit :  Les attributs qui doivent être privées. Il y a une relation entre la table PRODUIT et la table CATEGORIE de la manière suivante : un produit appartient à une catégorie et une catégorie contient une liste de produit. On doit définir ça coté objet.  Il faut définir un objet catégorie de type Classe Categorie dans la classe Produit  Il faut définir une Liste d’objet de type Classe Produit dans la classe Categorie  Les constructeurs selon notre besoin
  • 6. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 6  Les getters et setters de chaque attribut. Il faut définir tout les getters et setter sans exception dans la classe Produit. Il faut faire de même pour la classe Categorie. 2. CREATION DE L’ENTITE CATEGORIE Définir les attributs de la classe Categorie, on doit définir une liste de produits de type Produit. Faisant la même chose en définissant les constructeurs et les getters et les setters de la classe.
  • 7. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 7 II. Préparation des DAO (Objet d’Accès aux Données) 1. SINGLETON DE CONNEXION A UNE BASE DE DONNEES Nous avons maintenant nos objets Java et notre base de données, avant de voir comment fonctionne ce pattern de conception, il ne nous reste juste à voir comment nous allons implémenter la connexion à la base de données. Afin de pouvoir gagner en souplesse et en allocation mémoire, nous allons utiliser le pattern singleton afin d'instancier et d'utiliser la connexion à la base de données utilisée. Il va de soit que vous savez vous connecter à une base de données via JDBC (Java DataBase Connectivity). Il s'agit d'un objet dont le constructeur est déclaré static, ceci afin d'assurer que seule une instance de l'objet en question puisse être créée. Voici le code source de mon singleton, celui-ci sert à créer une connexion vers la base MySql, modifiez le code source selon vos besoins. Il y a 4 attributs qu’il faut instancier dès le début pour pouvoir se connecter à une base de données : DRIVER, URL, LOGIN et PASSWORD.
  • 8. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 8 Bon, nous avons maintenant tous les éléments nécessaires afin de travailler avec notre base de données via le pattern DAO, mais il nous reste à savoir ce que fait exactement ce pattern... Le pattern DAO (Data Access Object) permet de faire le lien entre la couche métier et la couche persistante, ceci afin de centraliser les mécanismes de MAPPING entre notre système de stockage et nos objets Java. Il permet aussi de prévenir un changement éventuel de système de stockage de données (de MySql vers Oracle par exemple). La couche persistante correspond, en fait, à notre système de stockage et la couche métier correspond à nos objets Java, mapper sur notre base. Le pattern DAO consiste à ajouter un ensemble d'objets dont le rôle sera d'aller Lire, Ecrire, Modifier et Supprimer. Dans notre système de stockage. Cet ensemble d'objet s'appelle la couche DAO. 2. CREATION DE L’INTERFACE IPRPDUITDAO Une interface définit un comportement (d’une classe) qui doit être implémenté par une classe, sans implémenter ce comportement. C’est un ensemble de méthodes abstraites, et de constantes. Les différences entre les interfaces et les classes abstraites :  Une interface n’implémente aucune méthode.  Une classe, ou une classe abstraite peut implémenter plusieurs interfaces, mais n’a qu’une super classe, alors qu’une interface peut dériver de plusieurs autres interfaces.  Des classes non liées hiérarchiquement peuvent implémenter la même interface. Création d’une classe de type interface qui va définir les méthodes que j’aime implémenter dans mon application. Définir les opérations CRUD (INSERT, UPDATE, DELETE, Consultation). On va définir 4 opérations :  Insertion d’un nouveau produit  Modification d’un produit existant  Suppression d’un produit  Chargement d’un produit à partir de son identifiant (clé primaire)  Recherche de la liste de tous les produits sans exception  Recherche des produits par un mot clé  Récupération de la liste des produits par catégorie.
  • 9. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 9 3. IMPLEMENTATION DE PRODUITDAOIMPL On va définir la classe ProduitDAOImpl qui implémente toutes les méthodes qui existent dans IProduitDAO. Pour ce faire, il suffit juste d’écrire ce qui suit : On obtiendra une classe contenant le squelette des méthodes qu’il faut implémenter par la suite, il reste donc à implémenter chacune de ces méthodes à part :
  • 10. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 10 Implémentez la méthode qui insère un nouveau produit en saisissant les données suivantes : nom, description prix, quantité et id_categorie disponible. Implémentez la méthode qui modifie les différentes données du produit en connaissant la clé primaire. Implémentez la méthode qui supprime un produit tout en connaissant son clé primaire.
  • 11. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 11 Implémentez la méthode de recherche qui renvoie une liste de produits par mot clé. Implémenter la méthode de récupération d’un produit à partir de son Identifiant. Chargement d’un produit avec tous ces attributs même son attribut objet categeorie.
  • 12. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 12 Implémenter la méthode de récupération de la liste des produits par catégorie.
  • 13. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 13 A compléter à Implémenter les autres méthodes qui restent de la même manière des méthodes précédentes. III. Préparation des de la couche Métier Elle correspond à la partie fonctionnelle de l'application, celle qui implémente la « logique », et qui décrit les opérations que l'application opère sur les données en fonction des requêtes des utilisateurs, effectuées au travers de la couche présentation. Les différentes règles de gestion et de contrôle du système sont mises en œuvre dans cette couche. La couche métier offre des services applicatifs et métier à la couche présentation. Pour fournir ces services, elle s'appuie, le cas échéant, sur les données du système, accessibles au travers des services de la couche inférieure : couche d’accès aux données. En retour, elle renvoie à la couche présentation les résultats qu'elle a calculés. Création d’une interface métier IProduitMetier qui va définir les méthodes qu’on doit implémenter appelant les méthodes qui existe déjà dans les classes DAO. La couche métier joue le rôle intermédiaire entre la couche présentation et la couche métier. On définit la classe ProduitMetierImpl qui implémente l’interface IProduitMetier. La classe va définir les méthodes d’insertion, de mise à jour, de suppression et de recherche définit déjà dans la couche d’accès aux données DAO. Cette couche va appeler les méthodes implémentées dans cette dernière. On va définir l’objet produitDAO qui sera une instance de la classe ProduitDAOImpl.
  • 14. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 14 IV. Préparation du test Dans cette partie, il faut implémenter l’interface de l’application. Elle peut être une interface Swing ou bien une page web sous forme d’une page JSP. Dans cet exemple on va développer juste une classe main de test et l’affichage sera sur la console d’Eclipse.
  • 15. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 25 mars 2015 15 Le résultat de l’exécution de la classe de test est présenté comme suit :