1、下面关于JDBC驱动器API与JDBC驱动器关系的描述,正确的是()
A、 JDBC驱动器API是接口,而JDBC驱动器是实现类
B、 JDBC驱动器API内部包含了JDBC驱动器
C、 JDBC驱动器内部包含了JDBC驱动器API
D、 JDBC驱动器是接口,而JDBC驱动器API是实现类
答案: A
2、以下选项中,有关Connection描述错误的是( )
A、 Connection是Java程序与数据库建立的连接对象,这个对象只能用来连接数据库,不能执行SQL语句。
B、 JDBC的数据库事务控制要靠Connection对象完成。
C、 Connection对象使用完毕后要及时关闭,否则会对数据库造成负担。
D、 只有MySQL和Oracle数据库的JDBC程序需要创建Connection对象,其他数据库的JDBC程序不用创建Connection对象就可以执行CRUD操作。
答案: D
3、使用Connection 的哪个方法可以建立一个PreparedStatement接口?( )
A、 createPrepareStatement()
B、 prepareStatement()
C、 createPreparedStatement()
D、 preparedStatement()
答案: B
4、下面选项中描述错误的是( )
A、 Statement的executeQuery()方法会返回一个结果集
B、 Statement的executeUpdate()方法会返回是否更新成功的boolean值
C、 Statement的execute ()方法会返回boolean值 ,含义是是否返回结果集
D、 Statement的executeUpdate()方法会返回值是int类型,含义是DML操作影响记录数
答案: B
解析:Statement的executeUpdate()方法用于执行SQL中的insert、update、delete语句,该方法返回一个int类型的值,表示数据库中受该SQL语句影响的记录条数。
5、以下选项中,关于PreparedStatement的说法错误的是()
A、 PreparedStatement继承了Statement ,可以执行预编译的SQL语句
B、 PreparedStatement可以有效的防止SQL注入
C、 PreparedStatement只能执行带问号占位符的预编译SQL,不能执行SQL语句
D、 PreparedStatement可以存储预编译的SQL语句,从而提升执行效率
答案: C
6、下列选项中,关于Statement描述错误的是()
A、 Statement是用来执行SQL语句的
B、 Statement是PreparedStatement的子接口
C、 获取Statement实现需要使用Connection的createStatement()方法
D、 PreparedStatement能使用参数占位符,而Statement不行
答案: B
解析:PreparedStatement是Statement的子接口
7、Statement接口中executeQuery()方法的返回值是()
A、 ResultSet
B、 int
C、 Boolean
D、 Result
答案: A
解析:Statement接口中executeQuery()方法返回一个表示查询结果的ResultSet对象。
8、下列选项,可用于存储结果集的对象是()
A、 ResultSet
B、 Connection
C、 Statement
D、 PreparedStatement
答案: A
9、SELECT COUNT(*) FROM emp;这条SQL语句执行,如果员工表中没有任何数据,那么ResultSet中将会是()
A、 null
B、 有数据
C、 不为null,但是没有数据
D、 以上都选项都不对
答案: B
10、如果为预编译SQL 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");
答案: B
11、下列选项中,能够执行带参数占位符SQL语句的是()
A、 Statement
B、 Connection
C、 PreparedStatement
D、 ResultSet
答案: C
12、以下操作数据库结束后关闭资源顺序合理的是()
A、 ResultSet>Statement(或PreparedStatement)->Connection
B、 Connection>Statement(或PreparedStatement)->ResultSet
C、 Statement(或PreparedStatement)>ResultSet->Connection
D、 以上都错误
答案: A
13、下面选项中,属于JDBC实现的是()
A、 JDBC驱动管理器
B、 JDBC驱动器API
C、 JDBC驱动器
D、 Java程序
答案: ABC
14、下列选项有关ResultSet说法错误的是()
A、 ResultSet是查询结果集对象,如果JDBC执行查询语句没有查询到数据,那么ResultSet将会是null值
B、 判断ResultSet是否存在查询结果集,可以调用它的next()方法
C、 如果Connection对象关闭,那么ResultSet也无法使用
D、 ResultSet有一个记录指针,指针所指的数据行叫做当前数据行,初始状态下记录指针指向第一条记录
答案: AD
15、下面关于 ResultSet接口中getXXX()方法的描述正确的是()
A、 可以通过字段的名称来获取指定数据
B、 可以通过字段的索引来获取指定的数据
C、 字段的索引是从1开始编号的
D、 字段的索引是从0开始编号的
答案: ABC
16、在JDBC编程中执行完下列SQL语句SELECT name, rank, serialNo FROM employee,能得到rs的第一列数据的代码是( )
A、 rs.getString(0);
B、 rs.getString("name");
C、 rs.getString(1);
D、 rs.getString("ename");
答案: BC
17、JDBC对Java程序员而言是接口模型,对实现与数据库连接的服务提供商而言是API。
答案: 错误
解析:JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
18、如果我们想要取得ResultSet里的某一条记录,可以使用ResultSet的next()方法。
答案: 正确
19、ResultSet对象自动维护指向当前数据行的游标,每调用一次next()方法,游标向下移动一行, 循环完毕后指回第一条记录。
答案: 错误
解析:ResultSet对象自动维护指向当前数据行的游标,每调用一次next()方法,游标向下移动一行。如果下一行没有数据,返回false。
20、作为一种好的编程风格,应在不需要Statement对象和Connection对象时显式地关闭它们。
答案: 正确
21、PreparedStatement是Statement的子接口,用于执行预编译的SQL语句。
答案: 正确
解析:PreparedStatement是Statement的子接口,用于执行预编译的SQL语句。
22、Statement接口的executeUpdate(String sql)返回值是int,它表示数据库中受该SQL语句影响的记录的数目。
答案: 正确
23、ResultSet接口表示select查询语句得到的结果集,该结果集封装在一个逻辑表格中。
答案: 正确
24、CallableStatement是PreparedStatement的子接口,用于执行SQL存储过程。
答案: 错误
25、Statement接口的execute(String sql)返回值是boolean,它代表sql语句的执行是否成功。
答案: 错误
解析:可用于执行任何SQL语句,返回一个boolean值,表明执行该SQL语句是否返回了查询结果。如果执行的SQL语句有查询结果,则返回true,否则返回false。
26、对于相同的SQL语句,Statement对象每次执行时,也都会对其进行编译。
答案: 正确
27、应用程序可以直接与不同的数据库进行连接,而不需要依赖于底层数据库驱动。
答案: 错误
解析:应用程序与数据库连接需要依赖底层驱动。
28、JDBC访问数据库后,不需要手动关闭数据库资源。
答案: 错误
解析:JDBC访问数据库后,需要手动关闭数据库连接,释放资源,以重复利用资源。
29、当ResultSet的 Statement 关闭、重新执行或用于从多结果序列中获取下一个结果时,该ResultSet将被自动关闭。
答案: 正确
30、关闭资源时,按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源。
答案: 正确
解析:关闭资源时,按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源。
31、为了保证在异常情况下也能关闭资源,需要在try...catch的finally代码块中统一关闭资源。
答案: 正确
解析:为了保证在异常情况下也能关闭资源,需要在try...catch的finally代码块中统一关闭资源。
32、每次操作数据库结束后都要关闭数据库连接,资源的关闭顺序与打开顺序相同。
答案: 错误
解析:每次操作数据库结束后都要关闭数据库连接,资源的关闭顺序与打开顺序相反。
33、【】是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问。
答案: JDBC;
34、加载JDBC驱动是通过调用【】方法实现的。
答案: java.lang.Class.forName();
35、JDBC与数据库建立连接是通过调用 DriverManager类的静态方法 【】实现的。
答案: getConnection(url,username,password);
36、【】对象是executeQuery()方法的返回值,它被称为结果集,它通过一套getXXX方法提供了对这些行中数据的访问。
答案: ResultSet;
37、【】对象自动维护指向当前数据行的游标,每调用一次next() 方法,游标向下移动一行。
答案: ResultSet;
38、JDBC通过Statement类所提供的方法,可以利用标准的SQL对数据库进行【】 、【】 、【】 操作。
答案: 新增;插入;修改;
39、Statement接口提供了最常见的执行SQL的方法是【】和【】。
答案: createQuery();createUpdate();
40、当批量更新对象时,采用【】创建对象效率较高,且在SQL语句中使用?占位符;采用【】创建则效率较低。
答案: preparedStatement;Statement;
41、通过Connection实例的createStatement()方法获得的接口对象【】,会把静态的SQL语句发送到数据库中编译执行,然后返回数据库的处理结果。
答案: Statement;
42、PreparedStatement是Statement的子接口,用于执行【】的SQL语句。
答案: 预编译;
43、ResultSet接口中,能将游标移动到此 ResultSet 对象的最后一行的方法是【】。
答案: last();
44、Statement接口的executeUpdate(String sql)方法用于执行SQL中的insert、【】和delete语句。
答案: update;
45、Connection接口的【】方法用于创建一个PreparedStatement对象来将参数化的SQL语句发送到数据库。
答案: prepareStatement(String sql);
46、Statement接口的executeQuery(String sql)方法用于执行SQL的【】语句。
答案: select;
47、【】接口表示select语句得到的结果集,并将该结果集封装在一个逻辑表格中。
答案: ResultSet;
48、加载数据库驱动通常调用Class类的静态方法【】来实现。
答案: forName();
49、在JDBC中,事务操作成功后,系统将自动调用【】 方法 提交,否则调用rollback()回滚。
答案: commit();
50、JDBC常用API 中,【】类用于加载JDBC驱动并且创建与数据库的连接。
答案: DriverManager;
51、在编写JDBC应用程序时,必须要把指定数据库驱动程序或类库加载到【】中。
答案: classpath;
52、DriverManager中提供了一个【】方法来获取数据库连接。
答案: getConnection();