0% found this document useful (0 votes)
10 views11 pages

Experiment

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)
10 views11 pages

Experiment

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/ 11

Experiment 2

1. Definition

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


Java applications to interact with relational databases.
• It is part of the Java Standard Edition (JSE) and provides a set
of interfaces and classes in the java.sql and javax.sql
packages.
• It acts as a bridge between Java programs and databases like
MySQL, Oracle, PostgreSQL, SQL Server, etc.

In simple words: JDBC is a technology that enables Java programs


to store, update, delete, and fetch data from databases using
SQL queries.

2. Components of JDBC

JDBC mainly consists of 4 key components (often called the JDBC


Architecture):

1. JDBC API

• Set of classes and interfaces in java.sql and javax.sql.


• Provides methods to connect to databases, execute queries,
and retrieve results.
2. JDBC Driver Manager

• Manages a list of database drivers.


• Matches the connection request with the appropriate driver.

3. JDBC Driver

• A software component that translates Java calls into


database-specific calls.
• Each database (MySQL, Oracle, etc.) has its own JDBC driver.

Types of JDBC drivers:

1. Type-1: JDBC-ODBC Bridge Driver


2. Type-2: Native-API Driver
3. Type-3: Network Protocol Driver
4. Type-4: Thin Driver (Pure Java, widely used today e.g., MySQL
Connector/J).

4. Database

• The actual relational database (like MySQL, Oracle,


PostgreSQL, etc.) that stores the data.

3. JDBC Classes and Interfaces

Some commonly used interfaces and classes:

• DriverManager → Manages database drivers.


• Connection → Establishes and maintains session with the
database.
• Statement → Executes static SQL queries.
• PreparedStatement → Executes parameterized queries (safer,
prevents SQL Injection).
• CallableStatement → Executes stored procedures.
• ResultSet → Represents data retrieved from the database (like
a table of rows).
• SQLException → Handles database errors.

4. JDBC Steps (Workflow)

The typical process of JDBC can be broken into 6 steps:

1. Import JDBC packages

import java.sql.*;

2. Load and Register the Driver

Class.forName("com.mysql.cj.jdbc.Driver");

3. Establish a Connection

Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3
306/mydb", "user", "password");

4. Create a Statement / PreparedStatement


Statement stmt = con.createStatement();

5. Execute SQL Query

ResultSet rs = stmt.executeQuery("SELECT * FROM


students");

6. Close Connection

con.close();

5. JDBC Methods

Some of the most commonly used methods in JDBC are:

DriverManager

• getConnection(url, user, password) → Establish


connection.

Connection

• createStatement() → Create a Statement object.


• prepareStatement(sql) → Create a PreparedStatement
object.
• close() → Close the connection.
Statement

• executeQuery(sql) → Executes SELECT queries (returns


ResultSet).
• executeUpdate(sql) → Executes INSERT, UPDATE, DELETE
(returns number of affected rows).
• close() → Closes the statement.

PreparedStatement

• setInt(index, value) → Sets integer parameter.


• setString(index, value) → Sets string parameter.
• executeQuery() → Executes query.
• executeUpdate() → Executes update.

ResultSet

• next() → Moves to the next row.


• getInt(column) → Retrieves integer data.
• getString(column) → Retrieves string data.
• close() → Closes the ResultSet.

6. Advantages of JDBC

• Database independence (same code can work with different


databases by changing driver).
• Provides a standardized API.
• Supports both static and dynamic SQL queries.
• Portable and platform-independent.
EXPERIMENT 2
Q. Database connectivity through Java (JDBC) show table
PS C:\Users\karti\Onedrive\Desktop\ad java> javac -cp ".;C:\mysql-connector\mysql-connector-j-9.4.0.jar" "Jdbc.java"
PS C:\Users\karti\Onedrive\Desktop\ad java> java -cp ".;C:\mysql-connector\mysql-connector-j-9.4.0.jar" Jdbc
? Connected to database successfully!
Name ID PhoneNo

Kartik 411 2345


Kuldeep 412 567
Prashant 432 908
PS C:\Users\karti\Onedrive\Desktop\ad java>
EXPERIMENT 3
Q.implement the client –server connection and establish communication
between them
1 import java.net.*;
2 import java.io.*;
3

4 public class Client {


Run | Debug
5 public static void main(String[] args) throws IOException
6 String serverIP = "127.0.0.1";
7 int port = 3000;
8

9 System.out.println("Client started. Connecting to server at serverIP port ");


10 Socket socket Socket(serverIP, port);
= new
11 System.out.println(x: "Connected to server.");
12
13 BufferedReader userInput = new BufferedReader(new InputStreamReader (System.in));
14 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
15 PrintWriter out = new PrintWriter(socket.getOutputStream(), autoFlush:true);
16
17 String msg; {
18 while (true)
19 System.out.print(s:"Enter message for server (type 'close' to quit): ");
20 msg = userInput.readLine();
21 if (msg null) break; // EOF
== from console
22
23 out.println(msg); // send to server

24 System.out.println(x: "Message sent. Waiting for server response...");


25
26 String response = in.readLine();
27 if (response null) {
==

28
System.out.println(x: "Server closed connection.");
29 break;
30
31 System.out.println("Received from server: " + response);
32
33 if ("close".equalsIgnoreCase(msg.trim())) {
34 System.out.println(x:"Closing client as requested.");
35 break;
36
37 }
38
39
in.close();
40 out.close();
41 socket.close();
42 System.out.println(x:"Client closed.");
43
44
C:\Users\karti\OneDrive\Desktop\ad java>java Server. java
Server started. Waiting for client on port 3000...
Client connected: /127.0.0.1
Received from client: kartik
Received from client: maheshwari
Received from client: close
Client requested close. Closing connection.
Response sent to client.
Server closed.

C:\Users\karti\OneDrive\Desktop\ad java>

C:\Users\karti\OneDrive\Desktop\ad java>java Client


Client started. Connecting to server at 127.0.0.1:3000...
Connected to server.
Enter message for server (type 'close' to quit): kartik
Message sent. Waiting for server response...
Received from server: Server received: kartik
Enter message for server (type 'close' to quit): maheshwari
Message sent. Waiting for server response...
Received from server: Server received: maheshwari
Enter message for server (type 'close' to quit): close
Message sent. Waiting for server response...
Received from server: Server: closing connection as requested.
Closing client as requested.
Client closed.

C:\Users\karti\OneDrive\Desktop\ad java>
C:\Users\karti\OneDrive\Desktop\ad java>java Client
Client started. Connecting to server at 127.0.0.1:3000...
Connected to server.
Enter message for server (type 'close' to quit): kartik
Message sent. Waiting for server response...
Received from server: Server received: kartik
Enter message for server (type 'close' to quit): maheshwari
Message sent. Waiting for server response...
Received from server: Server received: maheshwari
Enter message for server (type 'close' to quit): close
Message sent. Waiting for server response...
Received from server: Server: closing connection as requested.
Closing client as requested.
Client closed.

C:\Users\karti\OneDrive\Desktop\ad java>

You might also like