Java Database Connectivity (JDBC)
.jpg)
Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC) is an API that allows Java applications to interact with relational databases like MySQL, PostgreSQL, SQL Server, and Oracle.
1. Steps to Connect Java with a Database
1️⃣ Load the JDBC Driver
2️⃣ Establish a Connection
3️⃣ Create a Statement
4️⃣ Execute SQL Queries
5️⃣ Process the Results
6️⃣ Close the Connection
2. Setting Up JDBC Environment
2.1 Download and Add JDBC Driver
Each database requires a specific JDBC driver.
MySQL → Download MySQL Connector/J
PostgreSQL → Download PostgreSQL JDBC
SQL Server → Download SQL Server JDBC
👉 Adding JDBC to Java Project:
In Eclipse/IntelliJ, add the JAR file to the project's Build Path.
3. JDBC Example: Connecting to MySQL
3.1 Create a Database and Table
Before running the Java code, create a database and table in MySQL.
CREATE DATABASE TestDB;
USE TestDB;
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
email VARCHAR(50)
);
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCConnection {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/TestDB"; // Database URL
String user = "root"; // Database username
String password = ""; // Database password (leave empty if none)
try {
// Load the MySQL JDBC driver
Class.forName("com.mysql.cj.jdbc.Driver");
// Establish connection
Connection conn = DriverManager.getConnection(url, user, password);
if (conn != null) {
System.out.println("Connected to the database!");
}
// Close the connection
conn.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class InsertData {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/TestDB";
String user = "root";
String password = "";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
String sql = "INSERT INTO users (name, email) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "John Doe");
pstmt.setString(2, "john@example.com");
int rowsInserted = pstmt.executeUpdate();
if (rowsInserted > 0) {
System.out.println("Data inserted successfully!");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class RetrieveData {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/TestDB";
String user = "root";
String password = "";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
String sql = "SELECT * FROM users";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String email = rs.getString("email");
System.out.println(id + " | " + name + " | " + email);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UpdateData {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/TestDB";
String user = "root";
String password = "";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
String sql = "UPDATE users SET email = ? WHERE name = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "newemail@example.com");
pstmt.setString(2, "John Doe");
int rowsUpdated = pstmt.executeUpdate();
if (rowsUpdated > 0) {
System.out.println("Data updated successfully!");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DeleteData {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/TestDB";
String user = "root";
String password = "";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
String sql = "DELETE FROM users WHERE name = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "John Doe");
int rowsDeleted = pstmt.executeUpdate();
if (rowsDeleted > 0) {
System.out.println("Data deleted successfully!");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Date: 2025-03-28 00:00:00.000000