JDBC Introduction
Understanding Java Database Connectivity fundamentals
☕ What is JDBC?
JDBC (Java Database Connectivity) is a Java API that enables Java applications to interact with databases. It provides methods to query and update data in databases using standard SQL commands.
// Simple JDBC example
import java.sql.*;
public class JDBCExample {
public static void main(String[] args) {
System.out.println("Welcome to JDBC!");
}
}
Output:
Welcome to JDBC!
Key JDBC Concepts
Driver
Bridge between Java and database
Class.forName("com.mysql.cj.jdbc.Driver");
Connection
Establishes link to database
Connection conn = DriverManager.getConnection(url);
Statement
Executes SQL queries
Statement stmt = conn.createStatement();
ResultSet
Holds query results
ResultSet rs = stmt.executeQuery("SELECT * FROM users");
🔹 JDBC Architecture
JDBC follows a layered architecture:
// JDBC Architecture Components
/*
1. Application Layer (Your Java Code)
2. JDBC API Layer (java.sql package)
3. Driver Manager Layer
4. Driver Layer (Database specific)
5. Database Layer
*/
// Basic JDBC workflow
import java.sql.*;
public class JDBCArchitecture {
public static void main(String[] args) {
try {
// 1. Load Driver
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. Create Connection
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mydb", "user", "password");
// 3. Create Statement
Statement stmt = conn.createStatement();
// 4. Execute Query
ResultSet rs = stmt.executeQuery("SELECT 'Hello JDBC' as message");
// 5. Process Results
while(rs.next()) {
System.out.println(rs.getString("message"));
}
// 6. Close Resources
rs.close();
stmt.close();
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
Output:
Hello JDBC
🔹 JDBC Driver Types
JDBC supports four types of drivers:
- Type 1: JDBC-ODBC Bridge (Deprecated)
- Type 2: Native API Driver
- Type 3: Network Protocol Driver
- Type 4: Pure Java Driver (Most Common)
// Type 4 Driver Examples
// MySQL
Class.forName("com.mysql.cj.jdbc.Driver");
// PostgreSQL
Class.forName("org.postgresql.Driver");
// Oracle
Class.forName("oracle.jdbc.driver.OracleDriver");
// SQL Server
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
🔹 Basic JDBC Setup
Essential imports and setup for JDBC:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCSetup {
// Database connection parameters
private static final String URL = "jdbc:mysql://localhost:3306/testdb";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
public static void main(String[] args) {
Connection connection = null;
try {
// Establish connection
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
System.out.println("Connected to database successfully!");
} catch (SQLException e) {
System.out.println("Connection failed: " + e.getMessage());
} finally {
// Always close connection
if (connection != null) {
try {
connection.close();
System.out.println("Connection closed.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
Output:
Connected to database successfully!
Connection closed.