Java 中关于 JDBC 的选择题2025 年 3 月 29 日 | 阅读 12 分钟 JDBC 是一个 API(应用程序编程接口),它帮助程序员编写 Java 程序来连接数据库、从数据库检索数据以及在Java 程序中执行各种数据操作。由于它是重要的主题,因此在 Java 面试和竞争性考试中经常会遇到与 JDBC 相关的问题。因此,在本节中,我们收集了一些基于 JDBC 的选择题,这些题目对于各种竞争性考试和面试都非常重要。 1) JDBC 的主要组成部分有哪些?
答案:a 说明
2) 选择定义了 JDBC 类的包?
答案:d 解释: JDBC API 分为两个包,即 java.sql 和 javax.sql。我们需要导入这些包才能在我们的应用程序中使用类和接口。 3) Thin driver 也被称为?
答案:c 解释: JDBC Thin Driver 是一个纯 Java 驱动程序。它也称为 Type-4 Driver。它是平台无关的,因此不需要客户端的任何其他 Oracle 软件。它使用 SQL*Net 与服务器通信以访问 Oracle 数据库。 4) 创建数据库连接的正确顺序是什么? i. 导入 JDBC 包。 ii. 打开与数据库的连接。 iii. 加载并注册 JDBC 驱动程序。 iv. 执行 Statement 对象并返回查询的 Resultset。 v. 创建一个 Statement 对象来执行查询。 vi. 关闭 Resultset 和 Statement 对象。 vii. 处理 Resultset。 viii. 关闭连接。
答案:b 解释: 要在 Java 中创建数据库连接,我们必须遵循以下顺序
5) 下列哪个方法用于执行 JDBC 中的 DML 语句?
答案:c 解释: 我们使用 executeUpdate() 方法来执行 DML SQL 查询,这些查询会更改数据库中的数据,例如 INSERT、UPDATE 和 DELETE,它们不返回 Resultset。 6) JDBC 通过 Connection 接口提供多少个事务隔离级别?
答案:b 解释: 下表定义了事务隔离级别。
7) JDBC API 中哪个方法是静态且同步的?
答案: A 解释: 使用 JDBC API 的 Java 应用程序通过获取 Connection 对象来建立与数据库的连接。获取 Connection 对象的标准方法是调用 DriverManager.getConnection() 方法,该方法接受一个包含数据库连接 URL 的字符串。它是一个静态且同步的方法。 8) 加载数据库驱动程序需要哪些方法?
答案:d 解释: 加载数据库驱动程序有两种方法
9) 参数化查询可以通过什么来执行?
答案:b 解释: PreparedStatement 接口扩展了 Statement 接口。它表示一个预编译的 SQL 语句,可以执行多次。它接受参数化的 SQL 查询。我们可以将 0 个或多个参数传递给此查询。 10) 下列哪个不是 JDBC 中的有效语句?
答案:c 说明
11) 在 JDBC Connection 类中,哪个隔离级别可以防止脏读?
答案:b 解释: 隔离级别 TRANSACTION_READ_COMMITTED 可以防止脏读,但仍可能发生不可重复读和幻读。 12) setAutoCommit(false) 的作用是什么?
答案:b 解释: 允许将两个或多个语句分组到事务中的方法是禁用自动提交模式。禁用自动提交模式后,直到我们显式调用 commit() 方法,才提交 SQL 语句。 13) 可以使用哪个来调用存储过程?
答案:b 解释: 存储过程是数据库程序,可用于对表执行 CRUD 操作。我们可以使用 Statement Interface 调用这些过程。它提供了与数据库执行查询的方法。 14) 关闭数据库资源的正确顺序是什么?
答案:d 解释: JDBC 连接和语句的黄金法则是按与初始化或打开相反的顺序关闭。此外,ResultSet 依赖于 Statement 的执行,而 Statement 依赖于 Connection 实例。因此,关闭顺序应为(ResultSet、Statement,然后是 Connection)。 15) 调试 JDBC 相关问题的最佳方法是启用什么?
答案:a 解释: JDBC 驱动程序支持 DriverManager 和 DataSource 追踪,如 JDBC 3.0 API 规范中所述。跟踪信息包括 JDBC API 方法的入口和出口点以及相应的参数和返回值。DriverManager.setLogWriter 方法可用于将跟踪消息发送到 PrintWriter。跟踪输出包含 JDBC 活动的详细列表。 16) 哪个 JDBC 驱动程序可以同时用于 servlet 和 applet?
答案:d 解释: Type 3 驱动程序遵循用于访问数据库的三层方法。JDBC 客户端使用标准网络套接字与中间件应用程序服务器通信。在 Type 4 驱动程序中,基于纯 Java 的驱动程序通过套接字连接直接与供应商的数据库通信。 17) JDBC-ODBC 驱动程序也称为?
答案:c 解释: Type 1 驱动程序也称为 JDBC-ODBC 桥驱动程序。它是一种数据库驱动程序实现,它利用 ODBC 驱动程序连接到数据库。该驱动程序将 JDBC 方法调用转换为 ODBC 函数调用。 18) 下列哪个驱动程序速度最快?
答案:d 解释: JDBC Net 纯 Java 驱动程序(Type 4)是最快的驱动程序,因为它将 JDBC 调用转换为特定于供应商的协议调用,并直接与数据库交互。 19) 下列哪个不是 ResultSet 对象的一种类型?
答案:b 解释: ResultSet 对象有三种类型
根据并发性,ResultSet 对象有两种类型。
20) 什么是 JDBC Savepoint?
答案:a 解释: JDBC Savepoint 帮助我们在事务中创建检查点,我们可以回滚到该特定检查点。 21) Java 程序员在使用 JDBC 编程时使用多少个阶段?
答案:d 解释: JDBC 程序包含以下阶段
22) 下列哪个是注册 JdbcOdbcDriver 的正确方法?
答案:a 解释: 通过创建驱动程序软件的驱动程序类的对象,我们可以注册驱动程序。要注册 sun microsystems 的 JdbcOdbcDriver,我们可以创建 JdbcOdbcDriver 驱动程序类的对象,如下所示 sun.jdbc.odbc.JdbcOdbcDriver obj = new sun.jdbc.odbc.JdbcOdbcDriver(); 23) 有多少种注册驱动程序的方式?
答案:c 解释: 有四种注册驱动程序的方式 1. 通过创建 Driver 的对象。例如 sun.jdbc.odbc.JdbcOdbcDriver obj = new sun.jdbc.odbc.JdbcOdbcDriver(); 2. 将驱动程序类对象发送到 DriverManager 类的 registerDriver() 方法。例如 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); 3. 将驱动程序类名直接发送到 forName()。例如 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 4. 使用 System 类的 getProperty() 方法。例如 String dname = System.getProperty("driver"); Class.forName(dname); 如果使用上述方法注册驱动程序,则必须在运行程序时指定驱动程序的名称。getProperty() 方法接收驱动程序名称并将驱动程序名称存储在 dname 中。 我们使用以下命令在运行时提供驱动程序名称 c:\> java -Ddriver = driverclassname Programname 例如 c:\> java -Ddriver = sun.jdbc.odbc.JdbcOdbcDriver MyProgram 24) 在以下语句中识别 DSN
答案:d 解释: 数据源名称 (DSN) 是分配给数据库的名称,用于在 Java 程序中标识它。DSN 与数据库的实际位置相关联。 25) 如果我们要使用 Oracle Corp. 提供的 thin driver 连接 Oracle 数据库,哪个语句是正确的?
答案:a 解释: 我们使用以下语句通过 thin 驱动程序连接 Oracle 数据库。 DriverManager.getConnection("jdbc::thin@localhost:1521:oracle", "scott", "tiger"); 26) ResultSet 有哪些类型?
答案:d 解释: JDBC 仅提供两种类型的 ResultSet:Forward 和 Scrollable ResultSet。 27) 下列语句中的 blob 是什么意思?
答案:c 解释: SQL 提供 BLOB(二进制大对象)数据类型来将 .gif 或 .jpg 或 jpeg 等图像文件存储到数据库表中。 28) 用于将文件存储到数据库表的哪个数据类型?
答案:b 解释: 要将大量数据(例如文本文件)存储到表中,我们使用 SQL 的 CLOB(字符大对象)数据类型。 29) DatabaseMetaData 接口用于获取什么?
答案:a 解释: DatabaseMetaData 是一个接口,用于获取关于整个数据库的全面信息。它由驱动程序供应商实现,以便让用户了解 DBMS 与其配合使用的 JDBC 驱动程序的兼容性。 30) 下列哪个驱动程序将 JDBC 调用转换为特定于数据库的调用?
答案:b 解释: Type 2 驱动程序借助供应商的数据库库将 JDBC 调用转换为特定于数据库的调用。它直接与数据库服务器通信。 31) ResultSet 是否可更新?
答案:b 解释: 默认情况下,ResultSet 对象不可更新,并且其光标仅向前移动。如果我们想创建一个可更新的 ResultSet 对象,我们可以使用 ResultSet.TYPE_SCROLL_INSENSITIVE 或 ResultSet.TYPE_SCROLL_SENSITIVE 类型,它们允许光标相对于当前位置向前和向后移动。 32) 下列哪个接口提供了 commit() 和 rollback() 方法?
答案:c 解释: Connection 接口提供了 commit() 和 rollback() 方法。commit() 方法使自上一个 commit/rollback 以来所做的所有更改永久化,并释放此 Connection 对象当前持有的任何数据库锁。rollback() 方法撤消当前事务中所做的所有更改,并释放此 Connection 对象当前持有的任何数据库锁。 33) 使用一个 Connection 可以创建多少个 Statement 对象?
答案:d 解释: 可以在同一个连接上创建和使用多个语句,但每个语句一次只能创建一个 Resultset 并使用。 34) JDBC API 支持____________ 和 __________ 架构模型来访问数据库。
答案:c 解释: JDBC API 支持双层和三层处理模型来进行数据库访问。在双层模型中,Java 应用程序直接与数据源通信。在三层模型中,命令被发送到“中间层”服务,然后这些服务将命令发送到数据源。 35) 关于事务,以下哪个(些)陈述是正确的? i. 事务是由一个或多个 SQL 语句组成的一个逻辑工作单元。 ii. 事务以提交或回滚结束,具体取决于是否存在数据一致性或数据并发性问题。 iii. 锁是一种机制,允许两个事务同时操作相同的数据。 iv. 为了避免事务期间的冲突,DBMS 使用锁,即阻止其他人访问事务正在访问的数据的机制。
答案:c 解释: 陈述 i、ii 和 iv 关于事务是正确的,但陈述 iii 不正确,因为锁机制阻止两个事务同时操作相同的数据。 |
我们请求您订阅我们的新闻通讯以获取最新更新。