As shown, the DAO pattern isolate between the Buisness layer ( Customer BO ) and the underlying implementation of the Datasource.The Buisness layer calls the DAO objects that depend on the underlying datasource, so the only portion of code we need to change when changing the datasource implementation mechanism (useing ORM instead of JDBC , or uses OODBMS instead of RDBMS )