KEMBAR78
JDBC Notes | PDF | Databases | Sql
0% found this document useful (0 votes)
31 views12 pages

JDBC Notes

Java Database Connectivity (JDBC) is an API that enables Java applications to interact with various databases by executing SQL queries and retrieving results. It consists of key components such as JDBC drivers, DriverManager, and the JDBC API, which facilitate database connections and operations. The document outlines the architecture, benefits, and steps to establish a JDBC connection, along with example code for connecting to MySQL and Oracle databases.

Uploaded by

sreeee437
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views12 pages

JDBC Notes

Java Database Connectivity (JDBC) is an API that enables Java applications to interact with various databases by executing SQL queries and retrieving results. It consists of key components such as JDBC drivers, DriverManager, and the JDBC API, which facilitate database connections and operations. The document outlines the architecture, benefits, and steps to establish a JDBC connection, along with example code for connecting to MySQL and Oracle databases.

Uploaded by

sreeee437
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Java Database Connectivity (JDBC)

Java Database Connectivity (JDBC) is a Java API that allows applications


to access and manage databases. JDBC is used to connect to databases,
send queries, and retrieve results.
Key principles of JDBC
 JDBC API: A set of classes and interfaces that define how Java
applications interact with databases
 JDBC drivers: Connect Java applications to database systems
 Connection string: A URL that loads the driver and specifies the
connection properties
 Statements: Used to execute SQL or PL/SQL queries against the
database
 Prepared statements: Used when an application plans to reuse a
statement multiple times
 Callable statements: Used to call stored procedures that return values
Steps to connect to a database using JDBC
1. Import package dependencies
2. Load and register the driver
3. Connect to the database
4. Frame query
5. Execute query
6. Process result
7. Close statement
8. Close connection
Benefits of JDBC
 Supports multiple databases, including MySQL, PostgreSQL, and Oracle
 Offers features like batch processing, connection pooling, and transaction
management
 Enables database operations across different platforms

JDBC (Java Database Connectivity)


JDBC (Java Database Connectivity) is an API in Java that enables applications to interact with
databases. It allows a Java program to connect to a database, execute queries, and retrieve and
manipulate data. By providing a standard interface, JDBC ensures that Java applications can work
with different relational databases like MySQL, Oracle, PostgreSQL, and more.
JDBC Architecture

Explanation:

Application: It is a Java applet or a servlet that communicates with a data source.

The JDBC API: It allows Java programs to execute SQL queries and retrieve results. Key interfaces
include Driver, ResultSet, RowSet, PreparedStatement, and Connection. Important classes include
DriverManager, Types, Blob, and Clob.

DriverManager: It plays an important role in the JDBC architecture. It uses some database-specific
drivers to effectively connect enterprise applications to databases.

JDBC drivers: These drivers handle interactions between the application and the database.

The JDBC architecture consists of two-tier and three-tier processing models to access a database.
They are as described below:

1. Two-Tier Architecture

A Java Application communicates directly with the database using a JDBC driver. Queries are sent to
the database, and results are returned directly to the application. In a client/server setup, the user’s
machine (client) communicates with a remote database server.

Structure:
Client Application (Java) -> JDBC Driver -> Database

2. Three-Tier Architecture

In this, user queries are sent to a middle-tier services, which interacts with the database. The database
results are processed by the middle tier and then sent back to the user.

Structure:

Client Application -> Application Server -> JDBC Driver -> Database

JDBC Components

There are generally 4 main components of JDBC through which it can interact with a database. They
are as mentioned below:

1. JDBC API

It provides various methods and interfaces for easy communication with the database. It includes two
key packages

java.sql: This package, is the part of Java Standard Edition (Java SE) , which contains the core
interfaces and classes for accessing and processing data in relational databases. It also provides
essential functionalities like establishing connections, executing queries, and handling result sets

javax.sql: This package is the part of Java Enterprise Edition (Java EE) , which extends the
capabilities of java.sql by offering additional features like connection pooling, statement pooling, and
data source management.

It also provides a standard to connect a database to a client application.

2. JDBC Driver Manager


Driver manager is responsible for loading the correct database-specific driver to establish a
connection with the database. It manages the available drivers and ensures the right one is used to
process user requests and interact with the database.

3. JDBC Test Suite

It is used to test the operation(such as insertion, deletion, updating) being performed by JDBC
Drivers.

4. JDBC Drivers

JDBC drivers are client-side adapters (installed on the client machine, not on the server) that convert
requests from Java programs to a protocol that the DBMS can understand. There are 4 types of JDBC
drivers:

Type-1 driver or JDBC-ODBC bridge driver

Type-2 driver or Native-API driver (partially java driver)

Type-3 driver or Network Protocol driver (fully java driver)

Type-4 driver or Thin driver (fully java driver) – It is deprecated and no longer supported since Java
8. Instead modern drivers like the Type – 4 driver are widely used.

JDBC Classes and Interfaces


Steps to Connect to MySQL Database Using JDBC

Step 1: Load the JDBC Driver

Class.forName(“com.mysql.cj.jdbc.Driver”);

Step 2: Establish a Connection

Connection connection = DriverManager.getConnection(

“jdbc:mysql://localhost:3306/your_database”,

“your_username”,

“your_password”

);

Step 3: Create a Statement

Statement statement = connection.createStatement();

Step 4: Execute a Query

String query = “INSERT INTO students (id, name) VALUES (101, ‘John Doe’)”;

int rowsAffected = statement.executeUpdate(query);

System.out.println(“Rows affected: ” + rowsAffected);

Step 5: Close the Connection

statement.close();

connection.close();

Create a Simple JDBC Application

The below Java program demonstrates how to establish a MYSQL database connection using JDBC
and execute a query.

// Java program to implement a simple JDBC application

import java.sql.*;
public class Geeks {
public static void main(String[] args)
{
// Database URL, username, and password

// Replace with your database name


String url
= "jdbc:mysql://localhost:3306/your_database";

// Replace with your MySQL username


String username = "your_username";

// Replace with your MySQL password


String password = "your_password";

// Updated query syntax for modern databases


String query
= "INSERT INTO students (id, name) VALUES (109, 'bhatt')";

// Establish JDBC Connection


try {

// Load Type-4 Driver


// MySQL Type-4 driver class
Class.forName("com.mysql.cj.jdbc.Driver");

// Establish connection
Connection c = DriverManager.getConnection(
url, username, password);

// Create a statement
Statement st = c.createStatement();

// Execute the query


int count = st.executeUpdate(query);
System.out.println(
"Number of rows affected by this query: "+ count);

// Close the connection


st.close();
c.close();
System.out.println("Connection closed.");
}
catch (ClassNotFoundException e) {
System.err.println("JDBC Driver not found: "+ e.getMessage());
}
catch (SQLException e) {
System.err.println("SQL Error: " + e.getMessage());
}
}
}
Establishing JDBC Connection in Java
Last Updated : 10 Jan, 2025


Before Establishing a JDBC Connection in Java (the front end i.e. your Java
Program and the back end i.e. the database) we should learn what precisely a
JDBC is and why it came into existence. Now let us discuss what exactly JDBC
stands for and will ease out with the help of real-life illustration to get it
working.
What is JDBC?
JDBC stands for Java Database Connectivity. JDBC is a Standard API that
enables Java applications to interact with databases like (MYSQL, PostgreSQL,
etc). This API consists of classes and interfaces written in Java, In other words,
we can also say that JDBC acts as a bridge between your Java
application(frontend) and the database(backend), allowing you to send and
retrieve data between the two systems.
The diagram below demonstrates the workings of JDBC by co-relating its
steps to real-world examples.

Steps to Connect Java Applications with Database


Below are the steps that explains how to connect to Database in Java:
 Step 1: Import the Packages
 Step 2: Load the drivers using the forName() method
 Step 3: Register the drivers using DriverManager
 Step 4: Establish a connection using the Connection class object
 Step 5: Create a statement
 Step 6: Execute the query
 Step 7: Close the connections
Java Database Connectivity

Let us discuss these steps in brief before implementing by writing suitable code
to illustrate connectivity steps for JDBC.
Step 1: Import the Packages
First, we need to import the packages.
Step 2: Loading the drivers
In order to begin with, you first need to load the driver or register it before using
it in the program. Registration is to be done once in your program. You can
register a driver in one of two ways mentioned below as follows:
Class.forName()
Here we load the driver’s class file into memory at the runtime. No need of using
new or create objects. The following example uses Class.forName() to load the
Oracle driver as shown below as follows:
Class.forName(“oracle.jdbc.driver.OracleDriver”);
DriverManager.registerDriver()
DriverManager is a Java inbuilt class with a static member register. Here we call
the constructor of the driver class at compile time. The following example uses
DriverManager.registerDriver()to register the Oracle driver as shown below:
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver())

Step 3: Establish a connection using the Connection class object


After loading the driver, establish connections as shown below as follows:
Connection con = DriverManager.getConnection(url,user,password)
 user: Username from which your SQL command prompt can be accessed.
 password: password from which the SQL command prompt can be accessed.
 con: It is a reference to the Connection interface.
 Url: Uniform Resource Locator which is created as shown below:
String url = “ jdbc:oracle:thin:@localhost:1521:xe”
Where oracle is the database used, thin is the driver used, @localhost is the IP
Address where a database is stored, 1521 is the port number and xe is the service
provider. All 3 parameters above are of String type and are to be declared by the
programmer before calling the function. Use of this can be referred to form the
final code.
Step 4: Create a statement
Once a connection is established you can interact with the database. The
JDBCStatement, CallableStatement, and PreparedStatement interfaces define the
methods that enable you to send SQL commands and receive data from your
database.
Use of JDBC Statement is as follows:
Statement st = con.createStatement();
Note: Here, con is a reference to Connection interface used in previous step.
Step 5: Execute the query
Now comes the most important part i.e executing the query. The query here is an
SQL Query. Now we know we can have multiple types of queries. Some of them
are as follows:
 The query for updating/inserting a table in a database.
 The query for retrieving data.
The executeQuery() method of the Statement interface is used to execute
queries of retrieving values from the database. This method returns the object of
ResultSet that can be used to get all the records of a table.
The executeUpdate(sql query) method of the Statement interface is used to
execute queries of updating/inserting.

int m = st.executeUpdate(sql);
if (m==1)
System.out.println(“inserted successfully : “+sql);
else
System.out.println(“insertion failed”);
on
Example: The below Java program demonstrates how to connect to a MYSQL
database, execute a Query, retrieve data and display it.
Note: Here sql is SQL query of the type String.
// This code is for establishing connection with MySQL
// database and retrieving data
// from db Java Database connectivity
/*
*1. import --->java.sql
*2. load and register the driver ---> com.jdbc.
*3. create connection
*4. create a statement
*5. execute the query
*6. process the results
*7. close
*/

import java.io.*;
import java.sql.*;

class Geeks {
public static void main(String[] args) throws Exception
{
String url = "jdbc:mysql://localhost:3306/table_name"; // table details
String username = "rootgfg"; // MySQL credentials
String password = "gfg123";
String query = "select *from students"; // query to be run
Class.forName("com.mysql.cj.jdbc.Driver"); // Driver name
Connection con = DriverManager.getConnection(url, username, password);
System.out.println("Connection Established successfully");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query); // Execute query
rs.next();
String name = rs.getString("name"); // Retrieve name from db

System.out.println(name); // Print result on console


st.close(); // close statement
con.close(); // close connection
System.out.println("Connection Closed....");
}
}
Output:

Step 6: Closing the Connections


So, finally we have sent the data to the specified location and now we are on the
verge of completing our task. By closing the connection, objects of Statement and
ResultSet will be closed automatically. The close() method of the Connection
interface is used to close the connection. It is shown below as follows:
con.close();
Example: The below Java program demonstrates how to establish a JBDC
Connection with an Oracle database.
// Java Program to Establish Connection
// in JDBC with Oracle Database

// Importing database
import java.sql.*;
// Importing required classes
import java.util.*;

// Main class
class Main {

// Main driver method


public static void main(String a[])
{

// Creating the connection using Oracle DB


// Note: url syntax is standard, so do grasp
String url = "jdbc:oracle:thin:@localhost:1521:xe";

// Username and password to access DB


// Custom initialization
String user = "system";
String pass = "12345";

// Entering the data


Scanner k = new Scanner(System.in);

System.out.println("enter name");
String name = k.next();

System.out.println("enter roll no");


int roll = k.nextInt();

System.out.println("enter class");
String cls = k.next();

// Inserting data using SQL query


String sql = "insert into student1 values('" + name+ "'," + roll + ",'" + cls + "')";

// Connection class object


Connection con = null;

// Try block to check for exceptions


try {

// Registering drivers
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

// Reference to connection interface


con = DriverManager.getConnection(url, user,pass);

// Creating a statement
Statement st = con.createStatement();

// Executing query
int m = st.executeUpdate(sql);
if (m == 1)
System.out.println("inserted successfully : " + sql);
else
System.out.println("insertion failed");

// Closing the connections


con.close();
}

// Catch block to handle exceptions


catch (Exception ex) {
// Display message when exceptions occurs
System.err.println(ex);
}
}
}
Output:

You might also like