J. D. B. C.

Retour  |  Home  |  Contact

Java DataBase Connectivity.

Besoin

Conception

Architecture

L'ensemble de ces interfaces JDBC est implémenté par les éditeurs sous forme de pilotes (drivers), classés selons 4 catégories :

  1. Pont JDBC-ODBC si vous avez un pilote ODBC et pas de pilote JDBC
  2. Client natif si vous maîtrisez le poste client
  3. Serveur
    1. si vous accédez à un SGBDR derrière un pare-feu
    2. si votre pilote JDBC ne supporte pas la mutualisation de connexions
    3. si vous souhaitez accéder à des SGBDR différents
  4. Client Java si vous ne maîtrisez pas le poste client
Client Application  
API standard   J2C
JDBC Connector
JDBC
Pilote JDBC Type 1 Type 2 (Java) Type 3 (Java) Type 4 (Java)
Infrastructure ODBC (natif) Pilote client SGBDR (natif)
Pilote ODBC (natif)
Protocole SGBDR SGBDR Pilote (généralement réseau, comme HTTP, etc.) SGBDR
Serveur SGBDR SGBDR Serveur pilote SGBDR
Pilote type 2 Pilote type 4
SGBDR A SGBDR B

API

JDBC est une API de J2SE comprenant :

Le coeur de l'API de JDBC est intégrée à J2SE depuis J2SE 1.1. Son extension est requise par J2EE.

Implémentation

Limitations

Exemples

Des exemples de pilotes JDBC sont :

Un exemple de code JDBC en environnement J2EE est :

Context namingContext = new InitialContext();
DataSource dataSource = (DataSource) namingContext.lookup ("java:comp/env/jdbc/MyDataSource");

Connection
dataSourceConnection = dataSource.getConnection();

try {
  PreparedStatement selectStatement = connection.prepareStatement ("SELECT ID, SHORT_NAME, RELATIONSHIPS.TYPE FROM SKILL, RELATIONSHIPS WHERE ID=RELATIONSHIPS.ID_TO AND RELATIONSHIPS.ID_FROM=?");

  selectStatement.setInt    (1, 123);
  selectStatement.setString (2, "UnType");


  ResultSet skillSet = selectStatement.executeQuery();

  List linkedSkills = new ArrayList();
  while (skillSet.next()) {
    int    id        = skillSet.getInt    ("ID")
;
    String shortName = skillSet.getString ("SHORT_NAME");
    
Skill  newSkill  = new SkillImpl (id, shortName);
    linkedSkills.add (newSkill);
  }

  return linkedSkills;
}
finally {
  connection.close();  // Ferme le statement et le ResultSet
}

Voir

Retour  |  Home  |  Contact