Java DataBase Connectivity or JDBC is an interface for the Java programming language while Open DataBase Connectivity or ODBC is an interface that is language independent. JDBC was developed by a subsidiary of Sun Microsystems called JavaSoft, whereas ODBC was designed by the SQL Access Group.
JDBC and ODBC are based on the X/Open SQL call-level interface standard. They provide an Application Program Interface, or API, that allows the same program to access different databases regardless of vendor ownership. Using standard Structured Query Language, or SQL, statements, databases can be queried to either store, retrieve, delete or modify data.
JDBC is commonly used for object-oriented databases while ODBC is used to access Database Management Systems, or DBMS. JDBC can only be used by applications written in Java, whereas ODBC does not depend on the programming language, operating system and platform of the program trying to access a database. This independence is achieved by the ODBC by acting as translator between the database and application through a driver manager. JDBC can only connect to ODBC-compliant databases by using a JDBC-to-ODBC bridge.
Some JDBC proponents suggest that JDBC is easier to learn compared to ODBC. Another advantage of JDBC over ODBC is faster implementation on non-Windows applications.