Oct 13, 2021
Updated: Oct 14, 2021
Hi, Hope you are doing well. This post is focused on JDBC-Java.
Let start with introduction.
JDBC stands for Java Database Connectivity
JDBC API provides universal data access from the Java.
Using the JDBC API, you can access virtually any data source, from relational databases(like MySQL ,Oracle, SQLite) to spreadsheets and flat files.
Let us try to discuss from scratch were till now in the java domain we were simply writing codes(programming) and interacting with the database. Have you ever wonder imagining how internally our program can be linked to a database giving it enormous power to make projects and applications out of our program. Yes, it is possible with the help of this mechanism. Let us discuss in a real-world scenario which later on we will be mapping with technical terms to get an absolute technical understanding of the same with a pictorial representation.
JDBC Driver is a software component that enables java application to interact with the database. There are 4 types of JDBC drivers:
JDBC-ODBC bridge driver
Native-API driver (partially java driver)
Network Protocol driver (fully java driver)
Thin driver (fully java driver)
Before JDBC, ODBC API was the database API to connect and execute the query with the database.
But, ODBC API uses ODBC driver which is written in C language (i.e. platform dependent and unsecured).
That is why Java has defined its own API (JDBC API) that uses JDBC drivers (written in Java language).
We can use JDBC API to handle database using Java program and can perform the following activities:
Connect to the database
Execute queries and update statements to the database
Retrieve the result received from the database.
Load the driver
Open database connection
Close database connection
Let’s follow above steps in code:
The easiest way to do this is to use Class.forName() on the class that implements the java.sql.Driver interface.
With MySQL Connector, the name of this class is com.mysql.jdbc.Driver. With this method, you could use an external configuration file to supply the driver class name and driver parameters to use when connecting to a database.
Class.forName("com.mysql.jdbc.Driver");
As part of its initialization, the DriverManager class will attempt to load the driver classes referenced in the “jdbc.drivers” system property. This allows a user to customize the JDBC Drivers used by their applications.
After the driver has been registered with the Driver Manager, you can obtain a Connection instance that is connected to a particular database by calling DriverManager.getConnection():
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_name", "root", "password");
Once a Connection is established, it can be used to create Statement and Prepared Statement objects, as well as retrieve metadata about the database.
This step is as much important as opening a connection. Any connection left open is waste of resource and lead to various exceptions.
try
{
if(connection != null)
connection.close();
System.out.println("Connection closed !!");
} catch (SQLException e) {
e.printStackTrace();
}
Let’s see the whole thing working in an example below:
package com.codersarts.jdbc.example;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionDemo {
public static void main(String[] argv) {
System.out.println("-------- MySQL JDBC Connection Example ------------");
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e) {
System.out.println("MySQL JDBC Driver not found !!");
return;
}
System.out.println("MySQL JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/Jdb_name", "root", "password");
System.out.println("SQL Connection to database established!");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
return;
} finally {
try
{
if(connection != null)
connection.close();
System.out.println("Connection closed !!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Output:
-------- MySQL JDBC Connection Example ------------
MySQL JDBC Driver Registered!
SQL Connection to database established!
Connection closed !!
CRUD Applications
Sorting and pagination
Developing simple and easy applications
Codersarts provide
JDBC assignment help
Help in JDBC Development projects
Error resolving in JDBC
Mentorship in JDBC from Experts
If you are looking for any kind of help in JDBC , Contact us