JDBC是用于执行SQL的Java API,它将数据库存取的API与SQL陈述分开,实现数据库无关的API接口,藉由JDBC统一的接口,开发人员只要专注于SQL陈述,而可以不必理会底层的数据库驱动程序与相关接口。
使用JDBC,由厂商实作数据库的接口,而SQL的操作部份由Java程序设计人员负责,如果要更换驱动程序,则只要加载新的驱动程序来源即可,Java 程序的部份则无需改变。
简单的说,JDBC让Java程序设计人员在撰写数据库程序的时候,可以「写一个程序,适用所有的数据库」。
下图JDBC API、数据库驱动程序与数据库之间的关系:
JDBC数据库驱动程序依实作方式可以分为四个类型:
使用者的计算机上必须事先安装好ODBC驱动程序,Type 1驱动程序利用Bridge的方式将JDBC的呼叫方式转换为ODBC的呼叫方式,用于Microsoft Access之类的数据库存取:
Application <-->
驱动程序上层包装Java程序以与Java应用程序作沟通,将JDBC呼叫转为原生程序代码的呼叫,下层为原生语 言(像是C、C++)来与数据库作沟通,下层的函式库是针对特定数据库设计的,不若Type 1可以对ODBC架构的数据库作存取:
Application <-->
透过中间件来存取数据库,使用者不必安装特定的驱动程序,而是由驱动程序呼叫中间件,由中间件来完成所有的数据 库存取动作,然后将结果传回给驱动程序:
Application <--> JDBC-middleware <--> middleware <--> Database
使用纯Java撰写驱动程序与数据库作沟通,而不透过桥接或中间件来存取数据库:
Application
<--> Pure Java Driver <--> Database
MySQL的JDBC驱动程序属于Type 4,称之为Connector/J,目前有支持JDBC 2.0与JDBC 3.0的版本,您可以在以下的网站取得:
http://www.mysql.com/products/connector-j/index.html