接上次的JDBC简单DEMO,我自己画了一张JDBC API的类图
(文章中的图片会不清晰,可点击打开新窗口查看清晰原图)
对于Java应用程序来说,客户使用到的API全是接口,除了DriverManager外;数据库产商负责实现各自的JDBC驱动,所谓JDBC驱动其实就是上面图中各个JDBC接口的具体实现类。这样我们在编写的JDBC应用程序的时候,可以依赖于不变的抽象接口,而不用管底层各数据库产商是如何实现这些功能。这里用到了一个面向对象的设计原则:依赖倒置原则。依赖倒置原则是指
1、高层模块不应该依赖于底层模块,二者都应该依赖于抽象
2、抽象不应该依赖于细节,细节应该依赖于抽象
JDBC的API就是抽象,不会经常变化的部分;我们的JDBC应用程序是高层模块;数据库产商的JDBC驱动是底层模块。通过抽象JDBCAPI的隔离,我们的JDBC应用程序不会受数据库产商JDBC驱动实现的影响,数据库产商JDBC驱动的实现也不用理会是谁在用他们的驱动。