2. En pratique Chargement du pilote Ouverture de connexion
Excution d'une requte Programme principal
3. Package et classes Le paquetage java.sql regroupe les
interfaces et les classes de l'API JDBC. import
java.sql.DriverManager; // gestion des pilotes import
java.sql.Connection; // une connexion la BD import
java.sql.Statement; // une instruction import java.sql.ResultSet;
// un rsultat (lignes/colonnes) import java.sql.SQLException; //
une erreur
4. Les Pilotes (drivers)
5. Drivers Type 1 JDBC-ODBC Bridge Type 2 Native-API
Partly-Java Driver Type 3 Net Protocol All-Java Driver Type 4
Native Protocol All-Java Driver
6. Drivers : chargement Mthode 1 : String nomDriver =
"nom_du_driver"; try{ Class.forName(nomDriver);
}catch(ClassNotFoundException cnfe){ System.out.println("La classe
"+nomDriver+" n'a pas t trouve"); cnfe.printStackTrace(); } Exemple
: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //pour le pont
JDBC-ODBC Class.forName("com.mysql.jdbc.Driver"); //pour MySQL et
ConnectorJ Mthode 2: Driver monDriver = new
com.mysql.jdbc.Driver();
DriverManager.registerDriver(monDriver);
7. Connections String url = "jdbc:: " ; Connect =
DriverManager.getConnection( url , SQLlogin , SQLpassword ) ;
Exemples : jdbc:odbc:maBase;CacheSize=30;ExtensionCase=LOWER
jdbc:mysql://localhost/maBase jdbc:sybase:Tds:localhost:5020/maBase
Pour oracle on a deux mode de oci et thin : jdbc:oracle:oci:@maBase
jdbc:oracle:thin:@//localhost:1521:maBase
8. Le cas Oracle
9. la Connexion (connection)
10. Les requetes Statement //requete simple PreparedStatement
//requete prepare CallableStatement // appel une procedure stocke
On ne peut pas les instancier Pour les crer il faut faire appel la
classe Connection
11. Statement
12. Statement
13. Resulset
14. Resulset navigable modifiable Statement createStatement(int
typeCurseur, int modifCurseur)
15. Resulset navigation
16. Resulset modification
17. Resulset modification Connection connection = ...;
Statement statement = connection.createStatement (
ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE );
String sql = "SELECT * FROM Annuaire"; ResultSet resultat =
statement.executeQuery(sql); // on se place sur la ligne insrer
resultat.moveToInsertRow(); //on renseigne les diffrents champs
resultat.updateInt("id",456);
resultat.updateString("nom","nouveauNom");
resultat.updateString("prenom","nouveauPrenom"); //on insre
effectivement la nouvelle ligne resultat.insertRow(); // se
replacer sur la ligne pointe avant l'appel moveToInsertRow
resultat.moveToCurrentRow();
18. PreparedStatement
19. CallableStatement 1- Crer le callablestatement
(connection.prepareCall(String)) 2- rpertorier le type des
paramtres de sortie (mthode registerOutParameter(numero, type
java.sql.types) 3- passer les valeurs des paramtres dentre (mthode
setXXX( numro, valeur)) 4- rcuprer les rsultats (mthode (getXXX(
numro ))