Cours java et les bases de données

Cours java et les bases de données, tutoriel accès aux bases de données en Java document PDF.

• Introduction
• JDBC: API SQL pour Java
– JDBC, Java, ODBC, SQL
– Architecture, interfaces, exemples
• Java et le client-serveur
– Architecture “classique”
– Architecture revisitée: Java côté client, Java côté serveur
• Persistence d’objets Java
– Principes
– Exemple de produit: JRB

Résumé sur java et les bases de données

Java et les BD: Quel intérêt ?
• Idem que pour les applications Internet (1)
– Portabilité, distribution, accès au réseau, GUI
• Evolution: statique/dynamique (2)
– Problèmes: transactions, pré-traitements, etc.
• Le client-serveur revisité (3)
– Client “fin”, code mobile
JDBC: Introduction
• Quoi ?
– API Java pour interagir avec des BD relationnelles
* exécuter des requêtes SQL
* récupèrer les résultats
– Tentative de standardiser l’accès aux BD (futur: ODMG)
– Spécification basée sur X/Open SQL CLI (comme ODBC)
• Pourquoi ?
– Réponse de SUN à la pression des développeurs
– Java est idéal pour les applications BD
– Alternative aux solutions propriétaires
JDBC et …
• Java: JDBC c’est du Java !
– Interfaces, classes, multi-threading
– Applets, applications, utilise le Security Manager
• ODBC: JDBC est “au-dessus” de ODBC
– Arguments pour ODBC:
* existe, implanté, fonctionne
* accepté, diffusé
– Arguments contre ODBC
* très lié au langage C (void *, pointeurs)
* compliqué, basé sur des paramètres locaux
JDBC et SQL
• Support de SQL-2 Entry Level
– SQL dynamique, principaux types SQL
– Transactions, curseurs simples
– Méta-données
• Mécanismes d’extension
– Syntaxe inspirée d’ODBC: { mot-clé … paramètres … }
– Fonctions ODBC de conversion, mathématiques, etc.
• Long terme
– Support de SQL-2 complet
Interfaces de JDBC (2)
• DriverManager
– Gère la liste des Drivers chargés
– Crée les connexions TCP (Connection)
– ‘Mappe’ des URLs vers des connexions
• Connection
– Canal de communication TCP vers une BD
– Format d’URL: jdbc:odbc:cuibd.unige.ch:9876/mabd
– Propriétés de la Connection: username, password
– Crée les Statements(requêtes SQL)
– Gère les transactions (au sens de SQL)
Interfaces de JDBC (3)
• Statement
– Gère les requêtes SQL simples
– Sous-types:
* PreparedStatement: requêtes paramètrées (IN)
* CallableStatement: procédures stockées (OUT)
– Passage de paramètres:
* méthodes set…
* accès par l’index
– Crée les ResultSet
Interfaces de JDBC (4)
• ResultSet
– Gère l’accès aux tuples d’un résultat (SELECT)
– Accès aux colonnes: par nom, par index
– Conversions de types entre SQL et Java
– Possibilité d’utiliser un stream pour récupérer les
données “brutes” (bytes, ASCII, Unicode)
– Gère des curseurs “simples”
Exemple de SELECT
java.sql.Statement st = conn.createStatement();
ResultSet r=st.executeQuery(“SELECT nom, age FROM T1”);
while (r.next()) {
// imprime les éléments du tuple
String s = r.getString(“nom”);
int i = r.getInt (“age”); // ou bien r.getInt (2)
System.out.println (“nom: “ + s + “ age: ” + i);
}
Exemple de UPDATE
java.sql.PreparedStatement ps =
conn.createStatement(“UPDATE T1 SET cat=? WHERE age=?”);
ps.setString(1, “Ado”);
for (int i = 14; i < 19; i++) {
ps.setInt (2, i);
int nbTuples = ps.executeUpdate();
System.out.println (“age: “ + i + “ nb: ” + nbTuples);
}
Limites du client-serveur “classique”
• Côté client:
– GUI: “moche”, non-standard, runtime
– Net: protocole fermé, mais: sécurité, performances
– “Epaisseur”: installation, configuration “câblée”
– Développement: langage “client”, peu portable
• Côté serveur
– Net: protocole fermé, mais: répartition, homogénéité
– Développement: langage “serveur”, pas portable
Avantages du client-serveur “avec Java”
• Côté client:
– Browser: interface uniforme, bookmarks, plug-ins
– Java VM: sécurité
– “Finesse”: TOUT se télécharge, pas de config locale
– Développement: Java, HTML (gare à JavaScript !)
• Côté serveur
– Request Broker: centralise les appels aux services
– Développement: Java
* local: code exécuté par le serveur
* mobile: code stocké dans la BD et envoyé au client
………

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours java et les bases de données (182 KO) (Cours PDF)
Java et les bases de données

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *