Java is a pure
object-oriented programming (OOP) language while relational databases use sequential programming language (SQL). Both of them have their own data type, methods and programming techniques. OOP manages objects where SQL manages tables. It is pretty clear that both of them cannot communicate directly with each other due to the unavailability of compatible language support. Direct communication is not possible so the unit is required to make them communicate even though these two are fundamentally different. The Java Database
Connectivity (JDBC) architecture will be managed by JDBC APIs from a Java application which helps to manage the incompetency. The one which manages the language and data type difference is DriverManager
. The following figure illustrates this:
The JDBC driver is an implementation that defines the interface in JDBC API for interacting with the database server.