1)什么是JDBC?

JDBC代表Java数据库连接。JDBC是与数据库进行通信并执行sqlquery的Java API。

java中jdbc提取数据库内容(Java程序员和数据库管理员JDBC问答TOP)(1)

2)什么是JDBC驱动程序和可用的JDBC驱动程序数量?

JDBC驱动程序包含帮助Java应用程序和数据库的类和接口。

有4种类型的JDBC驱动程序。

3)如何将MySQL或Oracle与Java连接?

java中jdbc提取数据库内容(Java程序员和数据库管理员JDBC问答TOP)(2)

代码说明如下:

  • JDBC API

  • JDBC驱动程序管理器

  • JDBC测试套件

  • JDBC-ODBC bridge

  • 6)什么是JDBC statements

    有三种类型的JDBC语句,如下所示:

    7)我们如何执行存储过程?

    可以使用JDBCcallable语句执行存储过程。以下是代码:

    java中jdbc提取数据库内容(Java程序员和数据库管理员JDBC问答TOP)(3)

    8)在Java中使用PreparedStatement有什么好处?

    Prepared Statement用于重复执行相同的SQL语句。即使使用“n”次,准备好的语句只能编译一次

    9)什么是ResultSet?

    java.sql.ResultSet接口意味着SQL查询的结果集。这意味着光标指向表的一行;它指向第一行之前。

    10)什么是ResultSet的类型?

    有三种类型的ResultSet可用。如果我们不声明任何ResultSet,这意味着我们正在调用TYPE_FORWARD_ONLY

    11)解释JDBC中RowSet与ResultSet之间的区别?

    在与DB的ResultSet句柄连接中,我们不能将Result作为序列化对象。

    由于上述问题,我们无法通过网络传递Resultset。

    RowSet扩展了ResultSet接口,因此它保存了ResultSet中的所有方法。RowSet被序列化。

    因此,我们可以将Rowset从一个类传递给另一个类,因为它与数据库没有连接。

    12)为什么要在JDBC中使用setAutoCommit(false)?

    如果要关闭自动提交,请设置connection.setAutoCommit(false)

    13)JDBC中的数据库警告是什么?我们如何在JDBC中处理数据库警告?

    SQL警告或数据库警告是SQLException类的子类。我们可以通过在Connection,Statement和ResultSet上使用getWarnings()方法处理它

    14)我可以得到一个null ResultSet吗?

    不,我们不能得到null Resultset。如果下一个记录不包含行,ResultSet.next()可以返回null。

    15)元数据是什么意思?为什么我们使用它?

    元数据是指有关其他数据的数据或信息。我们使用元数据获取数据库产品版本,驱动程序名称,表和视图的总数。

    16)在JDBC中执行executeQuery,executeUpdate有什么区别?

    17)什么是数据库连接池?使用连接池的优点?

    连接池意味着连接将被存储在缓存中,我们将来可以重用它们。

    优点:

    18)DriverManager类的功能是什么?

    它是用户和驱动程序之间的接口。 DriverManager跟踪数据库和相应驱动程序之间的所有活动。

    19)批量更新的含义是什么?

    批量更新意味着一次执行一组SQL查询。

    批量更新只能用于插入,更新和删除,但不能用于选择查询。

    20)JDBC API中有多少包?

    JDBC API中提供了两种类型的软件包

    21)execute,executeQuery和executeUpdate的返回类型是什么?

    22)结果集(Result Set)的索引以0或1开始?

    结果集的索引以1开头。

    23)加载驱动程序时Class.forName的作用是什么?

    Class.forName创建一个JDBC驱动程序实例,并使用DriverManager进行注册。

    24)JDBC-ODBC Bridge是否是多线程?

    不,JDBC-ODBC Bridge使用synchronized方法来序列化对ODBC进行的所有调用。

    25)哪个接口处理JDBC中的事务管理?

    连接接口处理JDBC中的事务管理。它提供了commit(),rollback()等的方法

    26)为什么“No suitable driver”错误发生?

    当我们调用DriverManager.getConnection方法时,No suitable driver会发生

    可能会出现以下原因:

    在调用getConnection方法之前无法加载精确的JDBC驱动程序。

    它可能是无效或错误的JDBC URL。

    27)准备的Statements更快。为什么?

    准备的Statements执行比直接执行更快,因为Statements只被编译一次。准备Statements和JDBC驱动程序在执行期间彼此连接,并且没有连接开销。

    28)是否可以连接到多个数据库?使用单一statement可以更新还是从两个或三个数据库中提取数据?

    是的,可以同时连接到多个数据库,但这取决于具体的驱动程序。

    要从不同的数据库更新和提取数据,我们可以使用单个statement。但是我们需要中间件来处理多个数据库或单个数据库。

    29)告诉我setMaxRows(int)和SetFetchSize(int)之间的区别?

    30)告诉我特殊字符?

    一个特殊字符之前是一个转义字符。比如,SELECT NAME FROM TABLE WHERE NAME LIKE'\ _%'{escape'\'}

    31)数据库中“dirty read”的含义是什么?

    dirty read意味着“读取可能正确或可能不正确的值”。

    32)两段提交是什么意思?

    在分布式事务处理中使用两阶段提交。如果任何事务正在执行,并且会影响多个数据库。将使用两阶段提交来使所有数据库彼此同步。

    33)JDBC中有多少锁定系统?

    JDBC中提供了两种类型的锁定,我们可以处理多个用户。

    如果两个用户正在查看相同的记录,则不会进行任何锁定。如果一个用户正在更新记录,并且第二个用户也正在更新相同的记录。那时候我们要用锁。

    34)JDBC中有什么异常类型?

    JDBC中有四种异常类型。

    35)给出使用JDBC连接数据库的步骤?

    使用JDBC连接数据库有两种方法

    它将在class.forName(驱动程序类)和Class.forName()的帮助下加载驱动程序类。

    后加载它将通过控件到DriverManager。

    DriverManager.getConnection()将创建连接以访问数据库。

    对于DataSource,无需在JNDI的帮助下使用DriverManager。它将从Naming服务器查找DataSource。 DataSource.getConnection()方法将Connection对象返回给DB。

    36)解释JDBC架构?

    JDBC API支持数据库的2层和3层模型。

    在2层模型中,Java应用程序与数据源进行交互

    java中jdbc提取数据库内容(Java程序员和数据库管理员JDBC问答TOP)(4)

    在3层模式命令中,重定向到服务的“中间层”。之后,命令发送到数据源。

    java中jdbc提取数据库内容(Java程序员和数据库管理员JDBC问答TOP)(5)

    37)JDBC 4.0中有哪些新功能?

    新功能是:

    38)JDBC中使用的是什么包?

    JDBC中使用8个包:

    39)JDBC中有多少RowSet可用?

    有两种类型的RowSet可用:

    40)连接(Connection)的意思是什么?

    连接接口包括与数据库交互的方法。

    41)解释JDBC Savepoint?

    保存点(Savepoint)表示当前事务可以回滚到的点。而不是将其所有更改转回来,它可以选择仅回滚其中的一些。

    42)列出使用DataSource的优点?

    数据源是管理员和程序员/开发人员之间的分工。

    管理员创建一个DataSource对象并将其绑定到JNDI注册表。程序员/开发人员从注册表中检索DataSource对象。然后它将建立与数据库的连接。

    43)为什么我们需要一个JdbcRowSet的原因,就像在ResultSet周围的包装器?

    我们可以使用ResultSet对象作为JavaBeans组件。

    JdbcRowSet也可以用作JavaBeans组件。这就是为什么它可以在设计或编译时创建和配置,并在运行时执行。

    所有jdbcRowSet对象都是可滚动和可更新的。

    44)我们可以查看一个结果集(result set)的方式有多少?

    有两种方法来查看ResultSet

    示例:getInt(String columnName),getInt(int columnIndex)

    45)可以更新结果集(result set)有多少种方式?

    以下方法可帮助更新result set

    46)为什么要用Java关闭数据库连接?

    作为最佳实践,我们必须关闭resultset,statement和connection 。如果connection来自池,则在关闭时,将连接发送回池以供重用。我们在finally {}块中这样做,因为如果发生任何异常,我们仍然有机会关闭。

    47)为什么在JDBC中使用blob数据类型?

    这些用于将大量数据存储到数据库中,如图像,电影等。

    48)如何在ResultSet中设置属性并发性?

    有两个并发级别

    CONCUR_READ_ONLY - 仅供阅读。

    CONCUR_UPDATABLE - 用于读取和更新。

    49)客户端和服务器数据库游标有什么区别?

    服务器端游标表示数据和结果保存在服务器上。只有当请求的数据被发送到客户端时。

    客户端游标表示发送到客户端位置的所有数据。

    50)如何使用JDBC将图像插入数据库?

    数据库中的图像使用BLOB数据类型,其中图像作为字节流存储。以下代码显示了如何将图像插入数据库。

    java中jdbc提取数据库内容(Java程序员和数据库管理员JDBC问答TOP)(6)

    ,