The Java Database Connectivity (JDBC) API provides a set of interfaces that enable interaction with relational databases. In this blog, we'll explore the key interfaces that form the core of the JDBC API, including Driver, Connection, Statement, and ResultSet.
1. Driver Interface
The Driver
interface is the foundation of the JDBC API. It acts as a bridge between the application and the database. Each database vendor provides an implementation of the Driver
interface to connect to a specific database. In general, you don't need to interact directly with this interface since the DriverManager
class manages it for you. However, understanding its role helps clarify how JDBC connects to databases.
2. Connection Interface
The Connection
interface represents a connection to a database. It is used to establish a session with the database, allowing you to execute SQL queries and manage transactions. A Connection
object provides methods to create statements and control transaction behavior:
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_name", "user", "password");
Once established, the connection can be used to interact with the database until it is explicitly closed.
3. Statement Interface
The Statement
interface is used to execute SQL queries against the database. There are three types of statements available in JDBC:
- Statement: Used for simple SQL queries without parameters.
- PreparedStatement: A subclass of
Statement
that allows parameterized queries, making it more secure and efficient. - CallableStatement: A subclass of
PreparedStatement
used to execute stored procedures in the database.
Here's an example of using a simple Statement
:
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
4. ResultSet Interface
The ResultSet
interface represents the result set of a query executed by a Statement
. It provides methods to navigate through the rows of data and retrieve column values:
while (resultSet.next()) {
String username = resultSet.getString("username");
int age = resultSet.getInt("age");
System.out.println("User: " + username + ", Age: " + age);
}
A ResultSet
object is typically obtained from executing a query and remains open as long as the Connection
is open.
Conclusion
The JDBC API's core interfaces—Driver
, Connection
, Statement
, and ResultSet
—are essential for interacting with relational databases in Java. Understanding these interfaces provides a solid foundation for executing SQL queries, handling transactions, and managing database connections.
0 Comments