Chapter 2: JDBC - Java Database Connectivity (Detailed Notes for
Exam Preparation)
✅ Most Important Topics for Exam (5 Marks):
1. JDBC Drivers (Types and usage)
2. JDBC Architecture (with diagram)
3. CRUD Operations using JDBC (code-based)
4. Difference between java.sql and javax.sql
5. Core Interfaces: Connection, Statement, ResultSet
1. Components of JDBC
JDBC allows Java programs to communicate with databases. The main components are:
• DriverManager: Loads database drivers and manages connections.
• Driver: Interface implemented by database vendors.
• Connection: Interface that represents a connection session.
• Statement: Interface to send SQL queries.
• ResultSet: Interface to read data from SELECT queries.
2. JDBC Architecture (with Diagram)
Two-Tier Architecture:
+------------------+ +------------------+
| Java Application | <--> | Database |
+------------------+ +------------------+
• Direct interaction between application and DB.
Three-Tier Architecture:
+------------------+ +----------------+ +------------------+
| Java Application | <--> | Middleware | <--> | Database |
+------------------+ +----------------+ +------------------+
• Middleware adds security and control.
1
3. JDBC Drivers (Types)
Type Description Platform Dependent? Example
Type 1 JDBC-ODBC Bridge Yes sun.jdbc.odbc.JdbcOdbcDriver
Type 2 Native-API Yes Oracle OCI driver
Type 3 Network Protocol No Middleware servers
Type 4 Thin Driver (Pure Java) No MySQL Connector/J
• Type 4 is preferred in modern development.
4. CRUD Operations using JDBC
Steps:
1. Load driver: Class.forName()
2. Establish connection: DriverManager.getConnection()
3. Create statement: Statement or PreparedStatement
4. Execute query: executeQuery() or executeUpdate()
5. Close connection
Sample Insert Code:
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/
test", "root", "");
Statement stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO students VALUES (1, 'Jenis')");
con.close();
• Similar syntax for UPDATE, DELETE, SELECT (use ResultSet).
5. java.sql Package
Provides interfaces and classes to:
• Connect to database
• Execute SQL queries
• Handle results
2
Common Interfaces:
• Connection
• Statement , PreparedStatement
• ResultSet
6. DriverManager Class
• Located in java.sql
• Manages all database drivers
• Example:
Connection con = DriverManager.getConnection(DB_URL, USER, PASS);
• Throws SQLException if connection fails.
7. Core Interfaces
1. Connection
• Interface to manage connection session
• Methods: createStatement() , prepareStatement()
2. Statement
• Used to send SQL queries
• Methods: executeQuery() , executeUpdate()
3. ResultSet
• Holds data from SELECT query
• Use while(rs.next()) to read row by row
8. Difference between java.sql and javax.sql
Feature java.sql javax.sql
Use Core JDBC functionality Advanced JDBC features
Interfaces Connection, Statement DataSource, RowSet
API Level Java SE Java EE
Use Case Basic DB operations Connection pooling, Txn
3
🎯 Final Exam Tips:
• Practice CRUD programs
• Draw architecture diagrams clearly
• Understand driver types and use cases
• Write short notes for DriverManager , ResultSet , Statement
Let me know if you want this as a downloadable PDF, or a flashcard quiz for revision!