dao相关
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DAO(Database Access Object),顾名思义就是数据库访问接口,也就是和数据库打交道操作对象.而这些操作往往可以从系统的业务逻辑中独立出来,从而使系统中的数据库操作变得统一和简单化(相对于数据库具体操作混合业务逻辑操作),而且也可以使得系统在和数据库交互出错时,更快的定位问题.
总而言之,使用DAO的目的是,将数据控制层和业务逻辑控制层分离开,减少耦合,这样不仅更有利于项目开发时的功能划分和工作分配(负责数据层的人员只注重数据操作,负责业务逻辑控制的开发人员只关注业务逻辑,使得各人的分工简化明晰),在项目维护时也更容易定位和解决问题.
根据面向对象的设计原则,我们应该依赖于抽象而不应该依赖于具体
依赖原则(the Dependency Inversion Principle DIP)
在进行业务设计时,与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是依赖于具体类。
具体类只负责相关业务的实现,修改具体类不影响与特定业务有关的依赖关系。
为此,我们在进行业务设计时,应尽量在接口或抽象类中定义业务方法的原型,并通过具体的实现类(子类)来实现该业务方法,业务方法内容的修改将不会影响到运行时业务方法的调用。
IService
OracleService implements IService
MysqlService implements IService
IService
is = null
com.oracleService
is =( IService
) class.forName(“com.oracleService”).newInstance;
config.properties
db:Mysql
db.service:MysqlService;
MysqlService os =new MysqlService ();
B extends A
Class.forName(classname).newInstance();
A a1 = new B();
a1.invoke();
A a1 = new C();
a1.invoke();
B b1 = new B();
c c1 = new C();。