java et bases de données : jdbc

24
Java DataBase Connectivity JDBC

Upload: mohammed-jaafar

Post on 14-Aug-2015

80 views

Category:

Education


2 download

TRANSCRIPT

  1. 1. Java DataBase Connectivity JDBC
  2. 2. En pratique Chargement du pilote Ouverture de connexion Excution d'une requte Programme principal
  3. 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. 4. Les Pilotes (drivers)
  5. 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. 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. 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. 8. Le cas Oracle
  9. 9. la Connexion (connection)
  10. 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. 11. Statement
  12. 12. Statement
  13. 13. Resulset
  14. 14. Resulset navigable modifiable Statement createStatement(int typeCurseur, int modifCurseur)
  15. 15. Resulset navigation
  16. 16. Resulset modification
  17. 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. 18. PreparedStatement
  19. 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. 20. CallableStatement
  21. 21. Transactions
  22. 22. Transactions