day11—DAO

来源:互联网 发布:淘宝的a3狗粮怎么样 编辑:程序博客网 时间:2024/06/01 21:05

DAO

数据访问对象DAO,是一种设计模式。建立在数据库和业务层之间,封装所有对数据库的访问。


DAO组成部分
1. 一个DAO接口;
2. 一个DAO工厂类;
3. 一个实现DAO接口的具体类;
4. 数据传递对象---(实体对象(Entity) 或 值对象(Value Object,简称VO))
   实际上,VO类就是一个JavaBean。

一、DAO接口
DAO接口中定义了所有的用户操作,如添加、修改、删除、查找记录等,只不过是接口,定义的都是抽象方法,需要实现类去具体实现这些方法。
DAO接口为开发人员提供了访问数据库表的一些通用方法,它是开发人员操作数据库的接口,并将数据访问和底层的数据操作分离,降低应用程序对底层数据库的依赖。

二、DAO实现类
DAO实现类实现了DAO接口,并实现了DAO接口中所有抽象方法,在DAO实现类中通过数据库连接类操作数据库,DAO实现类往往与具体的底层数据库关系较为紧密。

三、DAO工厂类
假设:
构造一个实例:
UserDAO userDAO = new UserDAO();
存在的缺陷:
1、硬编码,在UserDAO没有存在之前,编译错误
2、UserDAO中的JDBC绑定数据库(数据库连接和SQL语句),数据库难变换
3、如果对象的初始化的过程很长很复杂,放在构造方法中是很危险的

实际:
解耦合:
IUserDAO userDAO = DAOFactory.getUserDAO();
好处:
1、本处不依赖与UserDAO的具体实现
2、更好的扩展性和移植性,更容易加入新的对象或实现
3、更好调试
4、统一管理对象的创建过程
5、可以控制单例

总结:
1、DAO工厂类通过 一个类方法获得DAO实现类的实例。
2、如果只需要在DAO工厂类中修改即可。需要替换DAO实现类,
3、如果需要单例,可以在工厂里使用静态变量来实现

实现JDBC工厂设计模式搭建。

bean --- dao --- daoImpl --- Factory


2 0
原创粉丝点击