您的位置:首页 > 其它

day11—DAO

2016-03-11 23:56 239 查看
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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: