QCM sur l’API JDBC en Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sur Java comprennent divers sujets. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur Java .
1. Lequel des énoncés suivants est correct à propos de JDBC?
A L’API JDBC est une API pour accéder à différentes bases de données relationnelles.
B Vous l’utilisez pour accéder à des bases de données relationnelles sans intégrer une dépendance à un type de base de données spécifique dans votre code.
C JDBC signifie Java DataBase Connectivity.
D Tout les réponses sont vrais
D
L’API JDBC (Java DataBase Connectivity) est une API permettant d’accéder à différentes bases de données relationnelles. Vous l’utilisez pour accéder à des bases de données relationnelles sans incorporer une dépendance à un type de base de données spécifique dans votre code.
2. Lequel des énoncés suivants est correct à propos de JDBC?
A L’API JDBC fournit l’abstraction et les pilotes JDBC fournissent l’implémentation.
B De nouveaux pilotes peuvent être connectés à l’API JDBC sans changer le code client.
C Les deux A et B sont vrais.
D Aucune de ces réponses n’est vraie.
C
L’API JDBC fournit l’abstraction et les pilotes JDBC fournissent l’implémentation. De nouveaux pilotes peuvent être connectés à l’API JDBC sans modifier le code client.
3. Lequel des types de pilotes JDBC suivants doit être utilisé lorsqu’un pilote de type 3 ou de type 4 n’est pas encore disponible pour votre base de données?
A Type 1
B Type 2
C Type 3
D Type 4
B
Les pilotes JDBC de type 2 constituent une solution de secours lorsqu’il n’existe pas encore de pilote de type 3 ou de type 4 compatible avec une base de données donnée.
Type 4: le plus recommandé, car il communique directement avec la base de données en Java pur.
Type 3: utilise un serveur intermédiaire et est plus rarement employé aujourd’hui.
Type 2: à privilégier uniquement lorsqu’aucun pilote de type 3 ou de type 4 n’est disponible.
Type 1: considéré comme obsolète, car il repose sur le pont JDBC-ODBC et nécessite une configuration supplémentaire.
4. Laquelle des méthodes JDBC suivantes est principalement utilisée pour modifier les données ou la structure d’une base de données ?
A execute()
B executeUpdate()
C executeQuery()
D Aucune de ces réponses n’est vraie.
B
La méthode executeUpdate() est utilisée pour exécuter les instructions SQL qui modifient les données ou la structure d’une base de données.
Contrairement à executeQuery(), qui retourne un ResultSet, executeUpdate() retourne un entier (int) représentant le nombre de lignes affectées par l’instruction SQL.
La méthode executeUpdate() est utilisé pour modifier les bases de données. Généralement pour:
La sortie sera sous la forme d’un entier qui indique le nombre de lignes affectées par la requête.
5. Lequel des éléments suivants gère une liste de pilotes de base de données dans JDBC?
A DriverManager
B JDBC driver
C Connection
D Statement
A
La classe DriverManager est responsable de la gestion des pilotes JDBC. Elle maintient une liste des pilotes enregistrés et sélectionne automatiquement le pilote approprié pour établir une connexion avec la base de données.
Lorsqu’une application appelle la méthode getConnection(), DriverManager recherche un pilote compatible avec l’URL de connexion, puis crée et retourne un objet Connection.
6. Lequel des énoncés suivants est correct à propos de la classe Statement de JDBC?
A Statement encapsule une instruction SQL qui est transmise à la base de données pour être analysée et compilée.
B Statement encapsule une instruction SQL qui est transmise à la base de données pour être planifiée et exécutée.
C Les deux A et B sont vrais.
D Aucune de ces réponses n’est vraie.
C
La classe Statement encapsule une instruction SQL qui est transmise au système de gestion de base de données (SGBD) afin d’être analysée, compilée, optimisée (planifiée), puis exécutée.
7. Lequel des objets JDBC suivants est plus performant que Statement grâce à la précompilation des instructions SQL ?
A Statement
B PreparedStatement
C CallableStatement
D Aucune de ces réponses n’est vraie.
B
L’objet PreparedStatement est plus performant que Statement car la requête SQL est précompilée une seule fois par le SGBD avant son exécution.
Cela signifie que lorsque la même requête est exécutée plusieurs fois avec des valeurs différentes, le SGBD n’a pas besoin de la recompiler à chaque exécution. Seules les valeurs des paramètres changent, ce qui améliore les performances.
8. Lequel des éléments suivants présente l’avantage d’utiliser PreparedStatement en Java?
A Ralentissement des performances
B Encourage l’injection SQL
C Empêche l’injection SQL
D Utilise plus de mémoire
C
L’un des principaux avantages de PreparedStatement est qu’il protège les applications contre les attaques par injection SQL.
Contrairement à Statement, qui construit souvent les requêtes SQL par concaténation de chaînes de caractères, PreparedStatement utilise des paramètres (?). Les valeurs fournies sont automatiquement traitées comme des données et non comme du code SQL, empêchant ainsi un utilisateur malveillant de modifier la requête.
9. Que fait setAutoCommit(false)?
A Valide la transaction après chaque requête
B Valide explicitement la transaction
C Ne valide pas automatiquement la transaction après chaque requête
D Ne valide jamais la transaction
C
setAutoCommit(false) ne valide pas automatiquement la transaction après chaque requête. Cela économise beaucoup de temps d’exécution et améliore ainsi les performances.
10. Lequel des éléments suivants est utilisé pour appeler une procédure stockée?
A Statement
B PreparedStatement
C CallableStatment
D CalledStatement
C
L’objet CallableStatement est spécialement conçu pour appeler et exécuter des procédures stockées (Stored Procedures) définies dans une base de données.
11. Laquelle des méthodes suivantes permet de limiter le nombre maximal de lignes renvoyées par une requête SQL en JDBC ?
A getMinRows(int i)
B setMinRows(int i)
C getMaxrows(int i)
D setMaxRows(int i)
D
La méthode setMaxRows(int i) permet de définir le nombre maximal de lignes qu’un objet Statement (ou PreparedStatement) peut retourner après l’exécution d’une requête SQL. Par exemple :
Dans cet exemple, même si la table Employe contient 100 enregistrements, le ResultSet ne contiendra au maximum que 10 lignes.
12. Lequel des méthodes suivants est utilisé pour annuler une transaction JDBC?
A removeTransaction()
B rollback()
C commit()
D roll()
B
La méthode rollback() est utilisée pour annuler une transaction. Il annulera toutes les modifications apportées par la transaction.
13. Laquelle des méthodes suivantes est utilisée pour le traitement par lots (Batch Processing) en JDBC ?
A deleteBatch()
B setBatch()
C removeBatch()
D addBatch()
D
La méthode addBatch() permet d’ajouter plusieurs instructions SQL dans un lot (batch) afin de les exécuter en une seule opération.
Le traitement par lots est généralement plus rapide que l’exécution des requêtes une par une, car il réduit les échanges entre l’application Java et la base de données. Exemple: