Generally speaking, JDBC is to Java what Microsoft’s Open Database Connectivity (ODBC) interface is to the C language. Both JDBC and ODBC:
Provide a vendor-independent API that allows the same application to connect to different vendors’ databases and retrieve and update data using standard SQL statements.
Adopt the architecture of imposing a driver manager between applications and vendor-supplied drivers that translate between the standard API and a vendor’s proprietary implementation.
Are based on the X/Open SQL call-level interface specification.
JDBC proponents cite these advantages of JDBC over ODBC:
JDBC applications enjoy the platform-independence of Java, which lends itself to Internet applications. ODBC applications must, at a minimum, be recompiled to run on a different operating-system/hardware combination.
JDBC does not require software on each client system, which lends itself well for Internet applications.
JDBC is simpler and easier to learn than ODBC.
JDBC is not primarily targeted for desktop application development, which makes for faster implementation outside the Windows environment and is frequently used in enterprise class applications.