DAO设计模式
来源:互联网 发布:如何退出农村淘宝 编辑:程序博客网 时间:2024/06/07 18:18
什么是DAO
DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。
DAO的功能:
- DAO用来封装Data Source的……就比如,Connection conn = DAOFacotry.createConnection()……
就可以把Driver. URL. username, passpword这一些放在DAO中以后要更改数据库的类型。比如要把MSSQL换成Oracle的话……只需要更改DAOFacory里面的getConnection()里面的Driver.URL.之类的……
- DAO也是把对数据库的操作(比如最基本的CRUD操作)全部封装在里面……
比如说你要你要插入一个新的用户……那么。在DAO中我们只需要提供一个insertUser(User user)这一个方法就可以了……具体的操作是在DAO中实现的……
那么对于要调用DAO的时候。我们只要知道insertUser(User)是用来插入一个新的用户……而不需要知道是如何实现的。
一般 DAO是与Abstract Factory模式一起来用的……Factory来建立数据库和定位具体的DAO(比如说是UserDao..CustomerDao..)..一般将getConnection设置为static..也可以把HibernateSessionFactory这一个公共类放在这一AbstractFactory类中去...public class DAOFactory {private static final SessionFactory sessionFacotory;// 定义一个TrheadLocal .static Session currentSession().....public UserDao getUserDAO() { return new UserDaoImpl(sesssion); }pulbic OtherDao getOtherDAO() { return new OtherDaoImpl(session); }......}public interface UserDao {public insertUser(FormBean)public updateUser(FormBean);}然后就实现DAO的接口: (Struts的FormBean...VO来的..)public class UserDaoImpl implements UserDao {private Session session;public UserDaoImpl(Session session){this.session = session;}...public insertUser(FormBean) {..//..session.save(UserPO);..//..return FormBean;}public FormBean updateUser(FormBean) {..//..session.update(UserPO);..//..return FormBean;}}最后定义你的PO:public class UserPO {String firstname, lastname, password..........}
企业分层架构
客户层:因为现在都采用了B/S开发架构,所以一般都使用浏览器进行访问。
显示层:使用JSP/Servlet进行页面效果的显示
业务层:(Business Object,业务对象):会将多个原子性的DAO操作进行组合,组合成一个完整的业务逻辑。
数据层(DAO):提供多个原子性的DAO操作,例如:增加、修改、删除等,都属于原子性的操作。
资源层主要是数据库的操作层,里面可以进行各种的数据存储,但是这些数据存储操作的时候肯定依靠SQL语句,之前也发现了,如果在一个程序中出现了过多的SQL语句直接操作,则jsp页面变得相当复杂,而且也不便于程序的可重用性。 可以通过一个专门的数据库的操作组件完成,那么这个就是数据层的功能 业务层是整个项目的核心。现在我们要学的是DAO数据层
具体参考文章:这里写链接内容
这里写链接内容
0 0
- 实现DAO 设计模式
- DAO设计模式
- 实现DAO 设计模式
- 什么DAO设计模式
- 设计模式--DAO
- DAO设计模式
- DAO设计模式
- 实现DAO 设计模式
- DAO设计模式(转)
- DAO 设计模式 总结
- DAO设计模式笔记
- DAO设计模式总结
- dao设计模式
- DAO设计模式
- DAO设计模式
- DAO 设计模式
- DAO设计模式基础
- DAO设计模式
- java.lang.NoClassDefFoundError: android.support.v7.recyclerview.R$styleable
- html开发规范
- IOS-OC之高级组件PickerView之一
- OpenGL ES学习笔记(一)——基本用法、绘制流程与着色器编译
- Android 事件总线OTTO用法快速入门
- DAO设计模式
- LeetCode 125 Valid Palindrome(有效回文)(*)
- cocos2d-x学习笔记—图片按钮
- 爬虫之验证码问题
- U3D架构系列之- FSM有限状态机设计四
- U3D架构系列之- FSM有限状态机设计五
- U3D架构系列之- FSM有限状态机设计六(总结篇)
- cocos2dx3.0 C++开发 零基础入门笔记
- vimrc 中的配置代码