第十章 JDBC

一.单选题(共12题,22.8分)

1下列选项中,能够执行带参数占位符SQL语句的是()

  • A、Statement
  • B、ResultSet
  • C、Connection
  • D、PreparedStatement

正确答案: D 

2下面选项中描述错误的是( )

  • A、Statement的executeUpdate()方法会返回是否更新成功的boolean值
  • B、Statement的executeUpdate()方法会返回值是int类型,含义是DML操作影响记录数
  • C、Statement的executeQuery()方法会返回一个结果集
  • D、Statement的execute ()方法会返回boolean值 ,含义是是否返回结果集

正确答案: A 

答案解析:

Statement的executeUpdate()方法用于执行SQL中的insert、update、delete语句,该方法返回一个int类型的值,表示数据库中受该SQL语句影响的记录条数。

3使用Connection 的哪个方法可以建立一个PreparedStatement接口?( )

  • A、createPrepareStatement()
  • B、prepareStatement()
  • C、createPreparedStatement()
  • D、preparedStatement()

正确答案: B 

4SELECT COUNT(*) FROM emp;这条SQL语句执行,如果员工表中没有任何数据,那么ResultSet中将会是()

  • A、以上都选项都不对
  • B、null
  • C、不为null,但是没有数据
  • D、有数据

正确答案: D 

5下面关于JDBC驱动器API与JDBC驱动器关系的描述,正确的是()

  • A、JDBC驱动器是接口,而JDBC驱动器API是实现类
  • B、JDBC驱动器API内部包含了JDBC驱动器
  • C、JDBC驱动器API是接口,而JDBC驱动器是实现类
  • D、JDBC驱动器内部包含了JDBC驱动器API

正确答案: C 

6下列选项,可用于存储结果集的对象是()

  • A、PreparedStatement
  • B、ResultSet
  • C、Statement
  • D、Connection

正确答案: B 

7Statement接口中executeQuery()方法的返回值是()

  • A、Boolean
  • B、Result
  • C、ResultSet
  • D、int

正确答案: C 

答案解析:

Statement接口中executeQuery()方法返回一个表示查询结果的ResultSet对象。

8下列选项中,关于Statement描述错误的是()

  • A、获取Statement实现需要使用Connection的createStatement()方法
  • B、Statement是PreparedStatement的子接口
  • C、Statement是用来执行SQL语句的
  • D、PreparedStatement能使用参数占位符,而Statement不行

正确答案: B 

答案解析:

PreparedStatement是Statement的子接口

9以下选项中,关于PreparedStatement的说法错误的是()

  • A、PreparedStatement可以有效的防止SQL注入
  • B、PreparedStatement继承了Statement ,可以执行预编译的SQL语句
  • C、PreparedStatement只能执行带问号占位符的预编译SQL,不能执行SQL语句
  • D、PreparedStatement可以存储预编译的SQL语句,从而提升执行效率

正确答案: C 

10如果为预编译SQL UPDATE emp SET ename=?,job=?,salary=? WHERE empno=? 的第三个问号赋值,那么正确的选项是()

  • A、pst.setInt("3",2000);
  • B、pst.setString("salary","2000");
  • C、pst.setInt(3,2000);
  • D、pst.setFloat("salary",2000);

正确答案: C 

11以下操作数据库结束后关闭资源顺序合理的是()

  • A、Connection->Statement(或PreparedStatement)->ResultSet
  • B、Statement(或PreparedStatement)->ResultSet->Connection
  • C、以上都错误
  • D、ResultSet->Statement(或PreparedStatement)->Connection

正确答案: D 

12以下选项中,有关Connection描述错误的是( )

  • A、Connection是Java程序与数据库建立的连接对象,这个对象只能用来连接数据库,不能执行SQL语句。
  • B、JDBC的数据库事务控制要靠Connection对象完成。
  • C、Connection对象使用完毕后要及时关闭,否则会对数据库造成负担。
  • D、只有MySQL和Oracle数据库的JDBC程序需要创建Connection对象,其他数据库的JDBC程序不用创建Connection对象就可以执行CRUD操作。

正确答案: D 

二.多选题(共4题,7.6分)

1在JDBC编程中执行完下列SQL语句SELECT name, rank, serialNo FROM employee,能得到rs的第一列数据的代码是( )

  • A、rs.getString("ename");
  • B、rs.getString(1);
  • C、rs.getString(0);
  • D、rs.getString("name");

正确答案: BD 

2下面关于 ResultSet接口中getXXX()方法的描述正确的是()

  • A、可以通过字段的索引来获取指定的数据
  • B、字段的索引是从1开始编号的
  • C、字段的索引是从0开始编号的
  • D、可以通过字段的名称来获取指定数据

正确答案: ABD 

3下列选项有关ResultSet说法错误的是()

  • A、如果Connection对象关闭,那么ResultSet也无法使用
  • B、ResultSet是查询结果集对象,如果JDBC执行查询语句没有查询到数据,那么ResultSet将会是null值
  • C、ResultSet有一个记录指针,指针所指的数据行叫做当前数据行,初始状态下记录指针指向第一条记录
  • D、判断ResultSet是否存在查询结果集,可以调用它的next()方法

正确答案: BC 

4下面选项中,属于JDBC实现的是()

  • A、JDBC驱动管理器
  • B、Java程序
  • C、JDBC驱动器
  • D、JDBC驱动器API

正确答案: ACD 

三.填空题(共20题,38.0分)

1在编写JDBC应用程序时,必须要把指定数据库驱动程序或类库加载到【】中。

正确答案:

第一空: 

classpath

2JDBC常用API 中,【】类用于加载JDBC驱动并且创建与数据库的连接。

正确答案:

第一空: 

DriverManager

3Statement接口提供了最常见的执行SQL的方法是【】和【】。

正确答案:

第一空: 

createQuery()

第二空: 

createUpdate()

4【】是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问。

正确答案:

第一空: 

JDBC

5加载JDBC驱动是通过调用【】方法实现的。

正确答案:

第一空: 

java.lang.Class.forName()

6当批量更新对象时,采用【】创建对象效率较高,且在SQL语句中使用?占位符;采用【】创建则效率较低。

正确答案:

第一空: 

preparedStatement

第二空: 

Statement

7加载数据库驱动通常调用Class类的静态方法【】来实现。

正确答案:

第一空: 

forName()

8Connection接口的【】方法用于创建一个PreparedStatement对象来将参数化的SQL语句发送到数据库。

正确答案:

第一空: 

prepareStatement(String sql)

9通过Connection实例的createStatement()方法获得的接口对象【】,会把静态的SQL语句发送到数据库中编译执行,然后返回数据库的处理结果。

正确答案:

第一空: 

Statement

10PreparedStatement是Statement的子接口,用于执行【】的SQL语句。

正确答案:

第一空: 

预编译

11JDBC与数据库建立连接是通过调用 DriverManager类的静态方法 【】实现的。

正确答案:

第一空: 

getConnection(url,username,password)

12JDBC通过Statement类所提供的方法,可以利用标准的SQL对数据库进行【】 、【】 、【】 操作。

正确答案:

第一空: 

新增

第二空: 

插入

第三空: 

修改

13【】对象是executeQuery()方法的返回值,它被称为结果集,它通过一套getXXX方法提供了对这些行中数据的访问。

正确答案:

第一空: 

ResultSet

14【】对象自动维护指向当前数据行的游标,每调用一次next() 方法,游标向下移动一行。

正确答案:

第一空: 

ResultSet

15在JDBC中,事务操作成功后,系统将自动调用【】 方法 提交,否则调用rollback()回滚。

正确答案:

第一空: 

commit()

16ResultSet接口中,能将游标移动到此 ResultSet 对象的最后一行的方法是【】。

正确答案:

第一空: 

last()

17【】接口表示select语句得到的结果集,并将该结果集封装在一个逻辑表格中。

正确答案:

第一空: 

ResultSet

18Statement接口的executeQuery(String sql)方法用于执行SQL的【】语句。

正确答案:

第一空: 

select

19Statement接口的executeUpdate(String sql)方法用于执行SQL中的insert、【】和delete语句。

正确答案:

第一空: 

update

20DriverManager中提供了一个【】方法来获取数据库连接。

正确答案:

第一空: 

getConnection()

四.判断题(共16题,31.6分)

1为了保证在异常情况下也能关闭资源,需要在try...catch的finally代码块中统一关闭资源。

正确答案:√

答案解析:

为了保证在异常情况下也能关闭资源,需要在try...catch的finally代码块中统一关闭资源。

2每次操作数据库结束后都要关闭数据库连接,资源的关闭顺序与打开顺序相同。

正确答案:×

答案解析:

每次操作数据库结束后都要关闭数据库连接,资源的关闭顺序与打开顺序相反。

3JDBC对Java程序员而言是接口模型,对实现与数据库连接的服务提供商而言是API。

正确答案:×

答案解析:

JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。

4对于相同的SQL语句,Statement对象每次执行时,也都会对其进行编译。

正确答案:√

5ResultSet接口表示select查询语句得到的结果集,该结果集封装在一个逻辑表格中。

正确答案:√

6应用程序可以直接与不同的数据库进行连接,而不需要依赖于底层数据库驱动。

正确答案:×

答案解析:

应用程序与数据库连接需要依赖底层驱动。

7ResultSet对象自动维护指向当前数据行的游标,每调用一次next()方法,游标向下移动一行, 循环完毕后指回第一条记录。

正确答案:×

答案解析:

ResultSet对象自动维护指向当前数据行的游标,每调用一次next()方法,游标向下移动一行。如果下一行没有数据,返回false。

8Statement接口的executeUpdate(String sql)返回值是int,它表示数据库中受该SQL语句影响的记录的数目。

正确答案:√

9PreparedStatement是Statement的子接口,用于执行预编译的SQL语句。

正确答案:√

答案解析:

PreparedStatement是Statement的子接口,用于执行预编译的SQL语句。

10作为一种好的编程风格,应在不需要Statement对象和Connection对象时显式地关闭它们。

正确答案:√

11Statement接口的execute(String sql)返回值是boolean,它代表sql语句的执行是否成功。

正确答案:×

答案解析:

可用于执行任何SQL语句,返回一个boolean值,表明执行该SQL语句是否返回了查询结果。如果执行的SQL语句有查询结果,则返回true,否则返回false。

12当ResultSet的 Statement 关闭、重新执行或用于从多结果序列中获取下一个结果时,该ResultSet将被自动关闭。

正确答案:√

13如果我们想要取得ResultSet里的某一条记录,可以使用ResultSet的next()方法。

正确答案:√

14JDBC访问数据库后,不需要手动关闭数据库资源。

正确答案:×

答案解析:

JDBC访问数据库后,需要手动关闭数据库连接,释放资源,以重复利用资源。

15CallableStatement是PreparedStatement的子接口,用于执行SQL存储过程。

正确答案:×

16关闭资源时,按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源。

正确答案:√

答案解析:

关闭资源时,按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还没有名字哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值