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