Java et bases de données : JDBC
Preview:
Citation preview
- 1. Java DataBase Connectivity JDBC
- 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 ))
- 20. CallableStatement
- 21. Transactions
- 22. Transactions