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