1. What is JDBC?
Ans: JDBC technology is an API (included
in both J2SE and J2EE releases) that provides cross-DBMS connectivity to a wide
range of SQL databases and access to other tabular data sources, such as
spreadsheets or flat files. With a JDBC technology-enabled driver, you can
connect all corporate data even in a heterogeneous environment
2. What are stored procedures?
Ans: A stored procedure is a set of
statements/commands which reside in the database. The stored procedure is
precompiled. Each Database has it’s own stored procedure language,
3. What is JDBC Driver ?
Ans: The JDBC Driver provides
vendor-specific implementations of the abstract classes provided by the JDBC
API. This driver is used to connect to the database.
4. What are the steps required to
execute a query in JDBC?
Ans: First we need to create an instance
of a JDBC driver or load JDBC drivers, then we need to register this driver
with DriverManager class. Then we can open a connection. By using this
connection , we can create a statement object and this object will help us to
execute the query.
5. What is DriverManager ?
Ans: DriverManager is a class in java.sql
package. It is the basic service for managing a set of JDBC drivers.
6. What is a ResultSet ?
Ans: A table of data representing a
database result set, which is usually generated by executing a statement that
queries the database.
A ResultSet object maintains a cursor
pointing to its current row of data. Initially the cursor is positioned before
the first row. The next method moves the cursor to the next row, and because it
returns false when there are no more rows in the ResultSet object, it can be
used in a while loop to iterate through the result set.
7. What is Connection?
Ans: Connection class represents a
connection (session) with a specific database. SQL statements are executed and
results are returned within the context of a connection.
A Connection object’s database is
able to provide information describing its tables, its supported SQL grammar,
its stored procedures, the capabilities of this connection, and so on. This
information is obtained with the getMetaData method.
8. What does Class.forName return?
Ans: A class as loaded by the classloader.
9. What is Connection pooling?
Ans: Connection pooling is a technique
used for sharing server resources among requesting clients. Connection pooling
increases the performance of Web applications by reusing active database
connections instead of creating a new connection with every request. Connection
pool manager maintains a pool of open database connections.
10. What are the different JDB
drivers available?
Ans: There are mainly four type of JDBC
drivers available. They are:
Type 1 :
JDBC-ODBC Bridge Driver – A
JDBC-ODBC bridge provides JDBC API access via one or more ODBC drivers. Note
that some ODBC native code and in many cases native database client code must
be loaded on each client machine that uses this type of driver. Hence, this
kind of driver is generally most appropriate when automatic installation and
downloading of a Java technology application is not important. For information
on the JDBC-ODBC bridge driver provided by Sun.
Type 2:
Native API Partly Java
Driver- A native-API partly Java technology-enabled driver converts JDBC calls
into calls on the client API for Oracle, Sybase, Informix, DB2, or other DBMS.
Note that, like the bridge driver, this style of driver requires that some binary
code be loaded on each client machine.
Type 3:
Network protocol Driver- A
net-protocol fully Java technology-enabled driver translates JDBC API calls
into a DBMS-independent net protocol which is then translated to a DBMS
protocol by a server. This net server middleware is able to connect all of its
Java technology-based clients to many different databases. The specific
protocol used depends on the vendor. In general, this is the most flexible JDBC
API alternative. It is likely that all vendors of this solution will provide
products suitable for Intranet use. In order for these products to also support
Internet access they must handle the additional requirements for security,
access through firewalls, etc., that the Web imposes. Several vendors are adding
JDBC technology-based drivers to their existing database middleware products.
Type 4:
JDBC Net pure Java Driver – A
native-protocol fully Java technology-enabled driver converts JDBC technology
calls into the network protocol used by DBMSs directly. This allows a direct
call from the client machine to the DBMS server and is a practical solution for
Intranet access. Since many of these protocols are proprietary the database
vendors themselves will be the primary source for this style of driver. Several
database vendors have these in progress.
11. What is the fastest type of JDBC
driver?
Ans: Type 4 (JDBC Net pure Java Driver) is
the fastest JDBC driver. Type 1 and Type 3 drivers will be slower than Type 2
drivers (the database calls are make at least three translations versus two),
and Type 4 drivers are the fastest (only one translation).
12. Is the JDBC-ODBC Bridge
multi-threaded?
Ans: No. The JDBC-ODBC Bridge does not
support multi threading. The JDBC-ODBC Bridge uses synchronized methods to
serialize all of the calls that it makes to ODBC. Multi-threaded Java programs
may use the Bridge, but they won’t get the advantages of multi-threading.
13. What is cold backup, hot backup,
warm backup recovery?
Ans: Cold backup means all these files
must be backed up at the same time, before the database is restarted. Hot
backup (official name is ‘online backup’ ) is a backup taken of each tablespace
while the database is running and is being accessed by the users
14. What is the advantage of
denormalization?
Ans: Data denormalization is reverse
procedure, carried out purely for reasons of improving performance. It maybe
efficient for a high-throughput system to replicate data for certain data.
15. How do you handle your own
transaction ?
Ans: Connection Object has a method called
setAutocommit ( boolean flag) . For handling our own transaction we can set the
parameter to false and begin your transaction . Finally commit the transaction
by calling the commit method.