一、    填空题

  1. JDBC    ,是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问。它由一组用Java语言编写的类和接口组成。
  2. JDBC API:供程序员调用的接口与类,集成在java.sql和  javax.sql包中。
  3. 简单地说,JDBC 可做三件事:  与数据库建立连接   、发送操作数据库的语句、处理结果。
  4. 加载JDBC驱动是通过调用方法  java.lang.Class.forName()  实现的。
  5. JDBC中与数据库建立连接是通过调用 DriverManager类的静态方法

getConnection(url,user,password)  实现的。

  1. 有三种 Statement对象:Statement、   preparedStatemen 、CallableStatement(从PreparedStatement 继承)。
  2. ResultSet  对象是executeQuery()方法的返回值,它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。
  3. ResultSet对象自动维护指向当前数据行的游标。每调用一次  next()  方法,游标向下移动一行。
  4. 在JDBC中,事务操作成功后,系统将自动调用   commit()  提交,否则调用rollback()回滚。
  5. 在JDBC中,事务操作方法都位于接口java.sql.Connection中。可以通过调用

setAutoCommit(false)  来禁止自动提交。

  1. JDBC中,事务开始的边界不是那么明显,它会开始于组成当前事务的所有  statement  中的第一个被执行的时候。

二、    选择题

 

1.

以下选项中有关Connection描述错误的是(  D  (选择一项)

A.

Connection是Java程序与数据库建立的连接对象,这个对象只能用来连接

数据库,不能执行SQL语句。

B.

JDBC的数据库事务控制要靠Connection对象完成。

C.

Connection对象使用完毕后要及时关闭,否则会对数据库造成负担。

D.

只用MySQL和Oracle数据库的JDBC程序需要创建Connection对象,其他

数据库的JDBC程序不用创建Connection对象就可以执行CRUD操作

2.

使用Connection 的哪个方法可以建立一个PreparedStatement接口?(  B  )(选择一项)

A.

createPrepareStatement()

B.

prepareStatement()

C.

createPreparedStatement()

D.

preparedStatement()

3.

下面的描述错误的是(  B  (选择一项)

A.

Statement的executeQuery()方法会返回一个结果集

B.

Statement的executeUpdate()方法会返回是否更新成功的boolean值

C.

Statement的execute ()方法会返回boolean值 ,含义是是否返回结果集

D.

Statement的executeUpdate()方法会返回值是int类型,含义是DML操作影响记录数

4.

下列选项有关ResultSet说法错误的是(  AD  (选择二项)

A.

ResultSet是查询结果集对象,如果JDBC执行查询语句没有查询到数据,那 么ResultSet将会是null值

B.

判断ResultSet是否存在查询结果集,可以调用它的next()方法

C.

如果Connection对象关闭,那么ResultSet也无法使用

D.

ResultSet有一个记录指针,指针所指的数据行叫做当前数据行,初始状态下记录指针指向第一条记录。

5.

在JDBC编程中执行完下列SQL语句

SELECT name, rank, serialNo FROM employee

能得到rs的第一列数据的代码是(  BC  (选择二项)

A.

rs.getString(0);

B.

rs.getString("name");

C.

rs.getString(1);

D.

rs.getString("ename");

6.

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

那么ResultSet中将会是(  B  (选择一项)

A.

null

B.

有数据

C.

不为null,但是没有数据

D.

以上都选项都不对

7.

以下选项关于PreparedStatement的说法错误的是(  C  (选择一项)

A.

PreparedStatement继承了Statement ,可以执行预编译的SQL语句

B.

PreparedStatement可以有效的防止SQL注入

C.

PreparedStatement只能执行带问号占位符的预编译SQL,不能执行SQL语句

D.

PreparedStatement可以存储预编译的SQL语句,从而提升执行效率

8.

如果为下列预编译SQL的第三个问号赋值,那么正确的选项是(  B  (选择一项)

UPDATE emp SET ename=?,job=?,salary=? WHERE empno=?

A.

pst.setInt("3",2000);

B.

pst.setInt(3,2000);

C.

pst.setFloat("salary",2000);

D.

pst.setString("salary","2000");

三、    判断题

  1. JDBC对Java程序员而言是接口模型,对实现与数据库连接的服务提供商而言是API。(  F  )
  2. JDBC访问数据库步骤:1:加载一个Driver驱动;2:创建数据库连接Connection。3:创建SQL命令发送器Statement。4:通过Statement发送SQL命令并得到结果。5:处理结果。6:关闭数据库资源。(  T  )
  3. ResultSet里的数据一行一行排列,每行有多个字段,且有一个记录指针,指针所指的数据行叫做当前数据行,我们只能来操作当前的数据行。我们如果想要取得某一条记录,可以使用ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录,就应该使用while循环。(  T  )
  4. ResultSet对象自动维护指向当前数据行的游标。每调用一次next()方法,游标向下移动一行。 循环完毕后指回第一条记录。( F   )
  5. 作为一种好的编程风格,应在不需要Statement对象和Connection对象时显式地关闭它们。(  T  )
  6. 用户不必关闭ResultSet。当它的 Statement 关闭、重新执行或用于从多结果序列中获取下一个结果时,该ResultSet将被自动关闭。( T  )
  7. 要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement和ResultSet是需要连接是才可以使用的,所以在使用结束之后有可能其他的Statement还需要连接,所以不能先关闭Connection。(  T  )
  8. 在JDBC中,事务操作缺省是需要手动提交的。(  F  )

四、    简答题

  1. 有哪些不同类型的JDBC驱动?

A JDBC-ODBC Bridge plus ODBC Driver(类型1):它使用ODBC驱动连接数据库。需要安装ODBC以便连接数据库,正因为这样,这种方式现在已经基本淘汰了。

  B Native API partly Java technology-enabled driver(类型2):这种驱动把JDBC调用适配成数据库的本地接口的调用。

  C Pure Java Driver for Database Middleware(类型3):这个驱动把JDBC调用转发给中间件服务器,由它去和不同的数据库进行连接。用这种类型的驱动需要部署中间件服务器。这种方式增加了额外的网络调用,导致性能变差,因此很少使用。

  D Direct-to-Database Pure Java Driver(类型4):这个驱动把JDBC转化成数据库使用的网络协议。这种方案最简单,也适合通过网络连接数据库。不过使用这种方式的话,需要根据不同数据库选用特定的驱动程序,比如OJDBC是Oracle开发的Oracle数据库的驱动,而MySQL Connector/J是MySQL数据库的驱动。

  1. JDBC的操作步骤主要有哪些?

1:加载一个Driver驱动;

2:创建数据库连接Connection。

3:创建SQL命令发送器Statement。

4:通过Statement发送SQL命令并得到结果。

5:处理结果。

6:关闭数据库资源。

  1. execute,executeQuery,executeUpdate的区别是什么?
  1. JDBC的ResultSet是什么?
  1. 相对于Statement,PreparedStatement的优点是什么?
  1. JDBC的事务管理是什么,为什么需要它?

JDBC题库的更多相关文章

  1. Hibernate考试试题(部分题库)含答案

    Hibernate考试试题 (题库) 1.  在Hibernate中,下列说法正确的有( ABC ).[选三项] A.Hibernate是一个开放源代码的对象关系映射框架 B.Hibernate对JD ...

  2. 猿题库 iOS 客户端架构设计

    原文: http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=444322139&idx=1&sn=c7bef4d439f4 ...

  3. NOI题库刷题日志 (贪心篇题解)

    这段时间在NOI题库上刷了刷题,来写点心得和题解 一.寻找平面上的极大点 2704:寻找平面上的极大点 总时间限制:  1000ms  内存限制:  65536kB 描述 在一个平面上,如果有两个点( ...

  4. NOI题库 1768最大子矩阵 题解

    NOI题库 1768最大子矩阵  题解     总时间限制: 1000ms 内存限制: 65536kB   描述   已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大 ...

  5. 猿题库 iOS 客户端架构设计-唐巧

    序 猿题库是一个拥有数千万用户的创业公司,从20013年题库项目起步到2015年,团队保持了极高的生产效率,使我们的产品完成了五个大版本和数十个小版本的高速迭代. 在如此快速的开发过程中,如何保证代码 ...

  6. NOI题库 09:图像旋转翻转变换

    NOI题库开始的题,也是略水,当然也是大水,所以彼此彼此 09:图像旋转翻转变换 总时间限制: 1000ms 内存限制: 65536kB 描述 给定m行n列的图像各像素点灰度值,对其依次进行一系列操作 ...

  7. NOI题库-小学奥赛QwQ

    今天Loli教育我们让我们来看看NOI题库的奥赛部分,不过,为何是小学的( ⊙ o ⊙ )啊!感觉智商被各种侮辱. 余数相同问题: 描述 已知三个正整数 a,b,c. 现有一个大于1的整数x,将其作为 ...

  8. OnlineJudge 离线题库采集

    过段时间要把以前的OJ换掉,我负责VirtualJudge的部分.需要用C与PHP写一个Linux下的VJudge. 在此之前,将以前写给自己学弟学妹用的OJ离线题库的采集程序改进了一下.支持国内一些 ...

  9. Relax信息学题库须知

    Relax信息学题库须知 1.本题库于2017.10.15开始建设(建设中),私聊我便可成为题库管理员,关注我即可成为题库成员.我的QQ:2026503022,微信:dy060207. 2.本题库的建 ...

随机推荐

  1. SQL 语句-partition by

    /****** ******/ 初始化数据 create table employee (empid int ,deptid int ,salary decimal(10,2)) insert int ...

  2. Ubuntu/Windows下利用“HIDAPI”库函数实现与Hid类USB设备通信

    一.背景: 最近在做的一个项目需要使用USB传递数据,对USB理解不是很深,USB的系统驱动编写则更是天方 夜谭,因此将设备配置成HID类设备成为了首选.其最大的好处在于,LINUX/Windows系 ...

  3. 我们为之奋斗过的C#之---简单的库存管理系统

    今天非常开心,因为今天终于要给大家分享一个库存管理项目了. 我个人感觉在做项目之前一定先要把逻辑思路理清,不要拿到项目就噼里啪啦的一直敲下去这样是一不好的习惯,等你做大项目的时候,你就不会去养成一种做 ...

  4. C++之map、list操作

    #include <iostream> #include "map_struct.h" #include <map> using namespace std ...

  5. java集合类

    1.Collection和Collections的区别? (1)Collection是一个接口,为集合对象的基本操作提供通用的接口放法. (2)Collections是一个工具类,里面包含各种对集合的 ...

  6. C#GDI+编程基础(二)

    pen类:绘制指定宽度和样式的直线.使用DashStyle属性绘制几种虚线,可以使用各种填充样式(包括纯色和纹理)来填充Pen绘制的直线,填充模式取决于画笔或用作填充对象的纹理. 创建画笔: //用指 ...

  7. JVM内存模型和关键参数设置

    一. JVM内存模型: Jvm内存模型是学好Java很重要的一部分,该部分学习能让我们在系统运维的时候,或者优化服务器的时候能够有方法,懂原理. 二. Jvm关键参数: 1. 堆大小设置参数: -Xm ...

  8. echarts之字符云tooltip显示混乱问题的解决办法

    echarts字符云中tooltip显示混乱主要表现为一下两点: 1.字体与其显示框内容不对应鼠标识别错误 解决思路: 就是option里的数据要对value降序排序(这一点很关键,是必须的一步) 把 ...

  9. MFC----任务管理器的制作

    首先建立一个MFC项目,因为进程有多个并且是动态的,所以可以看做链表,获得头结点&&依次向下遍历: 首先 我们使用CreateToolhelp32Snapshot提取出进程表,之后

  10. nested exception is java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoSupport': ...