• JDBC题库


    一、    填空题

    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的事务管理是什么,为什么需要它?
  • 相关阅读:
    2019总结及2020计划
    蓝牙BLE连接与操作
    Android蓝牙操作
    Cannot use JSX unless the '--jsx' flag is provided.
    PyQt打包可执行文件
    Springboot项目报错【java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLClassLoader】
    typescript枚举字符串型不能使用函数问题
    beautifulsoap常用取节点方法
    numpy常用矩阵操作
    MYSQL 碎片查询
  • 原文地址:https://www.cnblogs.com/guanghe/p/6063218.html
Copyright © 2020-2023  润新知