Beruflich Dokumente
Kultur Dokumente
TP1(JDBCDAO)
JDBC
Onveutcrerunepetiteapplicationjavaquipermetdegrerceci(ajout,suppression,modification
destudiantsetdesoptionssansoublierlaffectationdesoptionsauxtudiants)dansunebasede
donnesMySQL,pourcefaire,ondoitcommencerparcrerlabaseetsonschma.
1) Crationdelabase:
EnutilisantMySQLAdministrator:
Cataloguecreatenewschema
insertiondunomdelabaseexemple
(esprit).
2) Utilisateursetdroits:
1
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
Useradministrationaddnew
user
Nomutilisateur:esprituser
Motdepass:espritpwd
EnsuiteenbasadroiteApply
changes
Puisclicdroitsurlutilisateur
esprituseraddhostsfromwich
theusercanconnect
Nomduhost:localhost.
Slectionnerlocalhost
(sousesprituser)puis
longletSchema
privilge.
Choisirlabasededonnee
espritpuisassignertous
lesdroits.
EnfinApplychanges
Voilaonaterminlaprparationdelabasededonne,onvamaintenantcrernostables.
3) Crationdestables:
Nousallonsutiliserunautreoutilmieuxadaptcettetache:MySQLQueryBrowser.
Onenprofiterapour
testernosnouveaux
paramtresdeconnexion
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
Unefoisconnectvousverrez
droitedelcranlesdiffrentes
basesdedonnes,faiteunclic
droitsurlabasededonnes
espritpuisCreateNew
Table.
Paramtrezlescolonnescommesuit:
PuisApplyChangespuisexecute.
3
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
Pourlatableetudiant:
Ilfautaussiajouterunecolonneno_option
ChoisissezlongletForeignKeys,
puis+.
Pourlenom:FK_opton
PourrefTable:option
Column:no_option
RfrenceColumn:no_option
Enfin:ApplyChanges,et
execute.
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
Maintenantnousallonscrersousclipseunnouveauprojetjavaquivatraiternosobjetsmtierset
stockerleursdonnesrelativesdansnotrebasededonnes.
1) Crationdunouveauprojet:
Lancereclipse.
File>New>Project
Java>JavaProject
PuisNext,lassistantvousdemanderalenomduprojet:ProjetJdbc
CliquersurFinish.
VousverrezalorslenouveauprojetauniveauduPackageexplorer(gauche).
CliquedroitsurlerepertoirSRCduprojet,puisNew>package.
Nomdupackage:org.esprit.jdbc
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
2) Miseenplacedunelibrairieutilisateur:ledriverJDBCpourMySql:
Window>Preferences,unefentresaffiche:
Java>BuildPath>User
Librariespuisappuiezsur
New.
Nom:MysqlpuisOK.
Lanouvellelibrairie
saffiche.
ChoisissezAddJars
Parcourirjusqu'
trouverlefichier:
mysqlconnector
java5.0.4bin.jar.
PuisLoad.
EnfinOK.
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
3) RelierleProjetlalibrairie:
Choisirlaracineduprojet>properties>JavaBuildPath
LongletLibrariespuisAddLibrary.
ChoisissezUserLibrarypuis,Nextunelistedeslibrairiessaffiche:
CocherlalibreriepuisFinish
7
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
4) LesClassesmtiers:
SousEclipsechoisissezlepackageorg.esprit.jdbc>clicdroit>new>Class.
Nom:Option.PuisFinish.
Code:
package org.esprit.jdbc;
public class Option {
private int no;
private String nom;
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
}
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
LaclasseEtudiant:
package org.esprit.jdbc;
public class Etudiant {
private
private
private
private
int no;
String nom;
String prenom;
Option option;
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
5) Lecodedelaclasseprincipale:Test.java
package org.esprit.jdbc;
import
import
import
import
import
java.sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;
10
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
String url="jdbc:mysql://localhost/4a1";
String login="esprituser";
String mdp="espritpwd";
try {
connection=DriverManager.getConnection(url,login,mdp);
System.out.println("Connection russie...");
} catch (SQLException e) {
System.out.println("Connexion echoe....");
e.printStackTrace();
}
Option option=new Option();
option.setNom("Informatique");
Etudiant etudiant;
etudiant=new Etudiant();
etudiant.setNom("foulen");
etudiant.setPrenom("benfoulen");
etudiant.setOption(option);
enregistrerOption(option);
enregistrerEtudiant(etudiant);
//supprimerOption(option);
//Option opt1=lireOption(1) ;
}
}
6) LedesignpatternDAO:
LepatrondeconceptionDAOproposelacrationd'uneclasseDAOparclassemtier.
ChaqueclasseDAOcontientlesmthodesdeliaisonaveclabasededonnes,parfois
appelesCRUD(pourCreate,Request,Update,Delete).
Lesmthodesdesuppressionetdemodificationrenvoientunboolenindiquantlesuccsde
l'opration,lamthoded'insertionrenvoiel'identifiantaffectlanouvellelignedelatable
(utileencasd'identifiantautoincrmentparleSGBD),etplusieurs
mthodesgetpermettentd'obtenirunobjetenfonctiondediffrentscritresde
recherche.
7) Notrenouvelleorganisation:
Encapsulertouslecoderelatifauxdtailstechniquesdelaconnexiondansuneclasse
ConnexionMySQL:
12
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
import
import
import
import
import
java.sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;
Connection connection;
Statement st;
ResultSet rs;
String sql;
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
return true;
}
public boolean executerRequete(String sql){
try {
st=connection.createStatement();
setRs(st.executeQuery(sql));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true;
}
public void setRs(ResultSet rs) {
this.rs = rs;
}
public ResultSet getRs() {
return rs;
}}
EnplusdesclassesEtudiantetoptionnousaurontdesclassesEtudiantDAOetOptionDao
NotrenouveauProjet:
14
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
Organisation:
15
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
TP1(JDBCDAO)
JDBC
Onveutcrerunepetiteapplicationjavaquipermetdegrerceci(ajout,suppression,modification
destudiantsetdesoptionssansoublierlaffectationdesoptionsauxtudiants)dansunebasede
donnesMySQL,pourcefaire,ondoitcommencerparcrerlabaseetsonschma.
1) Crationdelabase:
EnutilisantMySQLAdministrator:
Cataloguecreatenewschema
insertiondunomdelabaseexemple
(esprit).
2) Utilisateursetdroits:
1
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
Useradministrationaddnew
user
Nomutilisateur:esprituser
Motdepass:espritpwd
EnsuiteenbasadroiteApply
changes
Puisclicdroitsurlutilisateur
esprituseraddhostsfromwich
theusercanconnect
Nomduhost:localhost.
Slectionnerlocalhost
(sousesprituser)puis
longletSchema
privilge.
Choisirlabasededonnee
espritpuisassignertous
lesdroits.
EnfinApplychanges
Voilaonaterminlaprparationdelabasededonne,onvamaintenantcrernostables.
3) Crationdestables:
Nousallonsutiliserunautreoutilmieuxadaptcettetache:MySQLQueryBrowser.
Onenprofiterapour
testernosnouveaux
paramtresdeconnexion
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
Unefoisconnectvousverrez
droitedelcranlesdiffrentes
basesdedonnes,faiteunclic
droitsurlabasededonnes
espritpuisCreateNew
Table.
Paramtrezlescolonnescommesuit:
PuisApplyChangespuisexecute.
3
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
Pourlatableetudiant:
Ilfautaussiajouterunecolonneno_option
ChoisissezlongletForeignKeys,
puis+.
Pourlenom:FK_opton
PourrefTable:option
Column:no_option
RfrenceColumn:no_option
Enfin:ApplyChanges,et
execute.
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
Maintenantnousallonscrersousclipseunnouveauprojetjavaquivatraiternosobjetsmtierset
stockerleursdonnesrelativesdansnotrebasededonnes.
1) Crationdunouveauprojet:
Lancereclipse.
File>New>Project
Java>JavaProject
PuisNext,lassistantvousdemanderalenomduprojet:ProjetJdbc
CliquersurFinish.
VousverrezalorslenouveauprojetauniveauduPackageexplorer(gauche).
CliquedroitsurlerepertoirSRCduprojet,puisNew>package.
Nomdupackage:org.esprit.jdbc
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
2) Miseenplacedunelibrairieutilisateur:ledriverJDBCpourMySql:
Window>Preferences,unefentresaffiche:
Java>BuildPath>User
Librariespuisappuiezsur
New.
Nom:MysqlpuisOK.
Lanouvellelibrairie
saffiche.
ChoisissezAddJars
Parcourirjusqu'
trouverlefichier:
mysqlconnector
java5.0.4bin.jar.
PuisLoad.
EnfinOK.
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
3) RelierleProjetlalibrairie:
Choisirlaracineduprojet>properties>JavaBuildPath
LongletLibrariespuisAddLibrary.
ChoisissezUserLibrarypuis,Nextunelistedeslibrairiessaffiche:
CocherlalibreriepuisFinish
7
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
4) LesClassesmtiers:
SousEclipsechoisissezlepackageorg.esprit.jdbc>clicdroit>new>Class.
Nom:Option.PuisFinish.
Code:
package org.esprit.jdbc;
public class Option {
private int no;
private String nom;
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
}
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
LaclasseEtudiant:
package org.esprit.jdbc;
public class Etudiant {
private
private
private
private
int no;
String nom;
String prenom;
Option option;
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
5) Lecodedelaclasseprincipale:Test.java
package org.esprit.jdbc;
import
import
import
import
import
java.sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;
10
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
String url="jdbc:mysql://localhost/4a1";
String login="esprituser";
String mdp="espritpwd";
try {
connection=DriverManager.getConnection(url,login,mdp);
System.out.println("Connection russie...");
} catch (SQLException e) {
System.out.println("Connexion echoe....");
e.printStackTrace();
}
Option option=new Option();
option.setNom("Informatique");
Etudiant etudiant;
etudiant=new Etudiant();
etudiant.setNom("foulen");
etudiant.setPrenom("benfoulen");
etudiant.setOption(option);
enregistrerOption(option);
enregistrerEtudiant(etudiant);
//supprimerOption(option);
//Option opt1=lireOption(1) ;
}
}
6) LedesignpatternDAO:
LepatrondeconceptionDAOproposelacrationd'uneclasseDAOparclassemtier.
ChaqueclasseDAOcontientlesmthodesdeliaisonaveclabasededonnes,parfois
appelesCRUD(pourCreate,Request,Update,Delete).
Lesmthodesdesuppressionetdemodificationrenvoientunboolenindiquantlesuccsde
l'opration,lamthoded'insertionrenvoiel'identifiantaffectlanouvellelignedelatable
(utileencasd'identifiantautoincrmentparleSGBD),etplusieurs
mthodesgetpermettentd'obtenirunobjetenfonctiondediffrentscritresde
recherche.
7) Notrenouvelleorganisation:
Encapsulertouslecoderelatifauxdtailstechniquesdelaconnexiondansuneclasse
ConnexionMySQL:
12
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
import
import
import
import
import
java.sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;
Connection connection;
Statement st;
ResultSet rs;
String sql;
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
return true;
}
public boolean executerRequete(String sql){
try {
st=connection.createStatement();
setRs(st.executeQuery(sql));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true;
}
public void setRs(ResultSet rs) {
this.rs = rs;
}
public ResultSet getRs() {
return rs;
}}
EnplusdesclassesEtudiantetoptionnousaurontdesclassesEtudiantDAOetOptionDao
NotrenouveauProjet:
14
TP1JDBC/DAO(ApplicationJEE)
ISIMAREKIKRojdi:MaitreassistantInformatiquecertifiSCJP6SCWCD5SCBCD5
Organisation:
15
TP1JDBC/DAO(ApplicationJEE)