FAQ JDBCConsultez toutes les FAQ

Nombre d'auteurs : 8, nombre de questions : 162, dernière mise à jour : 3 juin 2015  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums de http://www.developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.


SommaireGénéralités (8)
précédent sommaire suivant
 

JDBC est une API (Application Programming Interface) Java disponible depuis la version 1.1 du JDK. Pour note, JDBC est un nom déposé et non un acronyme, même si en général on lui donne la définition suivante : Java DataBase Connectivity.

Cette API est constituée d'un ensemble d'interfaces et de classes qui permettent l'accès, à partir de programmes Java, à des données tabulaires (c.-à-d. triées sous forme de table ou de tableur). Par données tabulaires, on entend généralement des bases de données contenues dans des SGBD relationnels. Mais, JDBC n'est pas restreinte à ce type de source de données. On peut aussi accéder à des sources de données sous forme de fichiers (fichiers XML par exemple).

Mis à jour le 11 avril 2013 Ioan

Rappelons d'abord quelques notions élémentaires.

SQL (Structured Query Language) : le « langage de requêtes structuré » est un langage d'interrogation universel permettant la définition, la manipulation et le contrôle des données, pour les bases de données relationnelles. SQL est un standard supporté par la plupart des SGBD.

SGBDR (Système de gestion de bases de données relationnelles) : un SGBDR est un logiciel assurant la structuration, le stockage, la maintenance, la mise à jour et la consultation d'une base de données relationnelle. Sachant qu'une base de données relationnelle est une collection de données structurées sous forme de tableaux à deux dimensions (lignes et colonnes). Exemples : Oracle, Sybase, MySql, DB2, Interbase, etc.

ODBC (Open DataBase Connectivity) : interface écrite en C qui permet la communication avec les bases de données. Tout comme JDBC, ODBC permet la manipulation des bases de données « indépendamment » du SGBD.

Mis à jour le 11 avril 2013 Ioan

L'API JDBC permet, entre autres :

  • l'établissement d'une connexion avec le SGBD ;
  • l'envoi de requêtes SQL au SGBD, à partir du programme Java ;
  • le traitement, au niveau du programme, des données retournées par le SGBD ;
  • le traitement des métadonnées de la connexion, de l'instruction ou des résultats ;
  • le traitement des erreurs retournées par le SGBD lors de l'exécution d'une instruction.

Mis à jour le 11 avril 2013 Ioan

L'API JDBC permet virtuellement de se connecter à n'importe quel SGBDR. On a donc indépendance de la plate-forme (Java) et indépendance du SGBD (JDBC), c'est la philosophie même de Java : "Write Once, Run Anywhere".

L'utilisation du langage de programmation Java en collaboration avec l'API JDBC est donc une solution véritablement portable d'écrire des applications utilisant les bases de données.

Voici une liste non exhaustive des SGBD accessibles avec JDBC :

  • DB2
  • FoxPro
  • Ingres
  • Interbase
  • MS Access
  • MS SQL Server
  • MySQL
  • Oracle
  • Paradox
  • PostgreSQL
  • Sybase

Mis à jour le 11 avril 2013 Ioan

Voici l'architecture générale de JDBC :



On peut distinguer sur ce schéma simplifié trois types de technologies. En jaune, nous avons la technologie Java, dont une partie de JDBC (gestionnaire et pilotes). Pour les trois premiers types de drivers, on remarque en vert la présence d'intermédiaires non Java comme les API natives ou les serveurs intermédiaires. Enfin, en bleu, viennent les différents SGBD.

Remarque : les noms des drivers et SGBD sont donnés ici à titre d'exemple. Il en existe bien d'autres.

Et voici, les étapes généralement rencontrées dans un programme utilisant cette technologie :

  • chargement du driver correspondant au SGBD ciblé ;
  • ouverture d'une connexion vers la base de données ;
  • création d'une requête (Statement) ;
  • exécution de la requête ;
  • accès aux résultats de la requête ;
  • accès aux métadonnées (des résultats, de la connexion, etc.) ;
  • gestions des erreurs (exceptions et warnings) ;
  • libération des ressources (fermeture de la connexion, etc.).

Mis à jour le 11 avril 2013 Ioan

L'API JDBC est présente depuis la version 1.1 de Java (JDBC 1.0). En conséquence, elle a connu plusieurs versions. Ces différentes versions ont consisté en l'ajout de nouvelles fonctionnalités (classes et interfaces) ou en l'amélioration des fonctionnalités déjà présentes. La dernière version en date, JDBC 3.0, est disponible depuis février 2002. Elle fait partie intégrante de J2SE depuis la version 1.4.

  • JDBC 1.0 : depuis le JDK 1.1. Formée du package java.sql
  • JDBC 2.0 : depuis le JDK 1.2. Formée des packages java.sql et javax.sql
  • JDBC 3.0 : depuis le JDK 1.4. Formée des packages java.sql, javax.sql et javax.sql.rowset

Pour de plus amples informations sur les différentes fonctionnalités apparues (dans tous les packages) au fil du temps, regardez la description du package java.sql.

Et JDBC 4.0 alors ? La version 4.0 de JDBC est déjà en cours de conception : JSR 221: JDBC 4.0 API Specification. Elle prévoit notamment l'intégration des nouveautés de la version 1.5 de J2SE, comme la généricité.

Mis à jour le 11 avril 2013 Ioan

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -