JDBC选择题争议:Statement与ResultSet是否均为正确选项?
关于JDBC中Statement与ResultSet角色的疑问
_______对象用于执行静态SQL语句并获取其生成的结果。
- a) Statement
- b) db
- c) resultset
- d) sql
两者的核心角色差异
- Statement:这是JDBC中负责执行静态SQL语句的核心对象,通过调用
executeQuery()(查询)、executeUpdate()(增删改)等方法,直接触发SQL执行,并返回对应的结果(查询操作返回ResultSet,更新操作返回受影响行数)。它是完成“执行SQL+获取结果入口”整个动作的主体。 - ResultSet:它仅作为存储查询结果的容器存在,本身没有执行SQL的能力。只有当Statement执行查询SQL后,才会生成ResultSet对象,用于遍历、读取结果集中的数据。它是结果的“载体”,而非发起执行动作的主体。
为什么老师判定只有Statement正确
题目描述的是“用于执行静态SQL语句并获取其生成的结果”,这里要求的是一个对象能独立完成**“执行SQL”和“触发获取结果”**的完整流程:
- Statement可以直接发起SQL执行,并通过自身方法拿到结果(ResultSet或影响行数),完全符合题目的描述;
- ResultSet无法执行SQL,只能被动承载结果,无法独立完成题目要求的完整行为,因此不符合题意。
关于选项d的说明
选项d的sql并不是JDBC中的对象,它只是结构化查询语言(Structured Query Language)的缩写,本身不符合“对象”的要求,所以不存在“选择包含两者的SQL选项”的可能,该选项本身就是错误的。
内容的提问来源于stack exchange,提问作者Kavya Patel
相关产品推荐
相关产品推荐

