DAO模式是什么?

love_unlimited 2009-08-24 09:58:47
DAO模式是什么?
...全文
3669 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
doer_ljy 2009-08-25
  • 打赏
  • 举报
回复
怀念DAO,
可怜的Hibernate,
可怜的EJB3.0。。。
why_java 2009-08-25
  • 打赏
  • 举报
回复
自己下个这样的dao设置代码看看!!
在自己写个
tidelgl 2009-08-25
  • 打赏
  • 举报
回复
sail1202 2009-08-25
  • 打赏
  • 举报
回复
持久化操作 与数据打交道 都写在DAO层
eysime 2009-08-25
  • 打赏
  • 举报
回复
 一般 DAO是与Abstract Factory模式一起来用的...


feishare 2009-08-24
  • 打赏
  • 举报
回复
数据访问层,进行crud操作
xiaozejun 2009-08-24
  • 打赏
  • 举报
回复
DAO
其实就是所谓的底层 和持久层
主要是和数据库打交道的 从数据库获取数据
然后在将数据传递给业务逻辑层
临碣 2009-08-24
  • 打赏
  • 举报
回复
这个概念是很久之前的东西.7年前我看到的时候,有人说这个概念比较过时.因为太过简单,而且只对数据库进行描述,没有业务内涵.

DAO当年出现的时候还有个兄弟叫做DTO.

DAO是数据库访问对象,DTO是数据库传输对象.
比如你有个用户名密码要存数据库里,封装的用户对象就是DTO,也就是要传输给数据库的数据.DAO是访问层,用来把DTO提交给数据库,并做操作.

后来有了Hibernate,出来了持久层什么的,仅仅数据库的DAO和DTO消失了一段时间.不过Hibernate不是很争气,难以解决很多问题,所以DAO又复活了,并且一直活到现在.不过DTO很少有人在提了.


个人赞同最开始的观点,DAO的表述比较无聊,有没有无所谓.围绕这个概念,和不围绕它做出来的东西,没有实质性差别.
熊猫哥哥 2009-08-24
  • 打赏
  • 举报
回复
做具体和数据库相关的操作的。
StockBean .java // 与数据表对应
StockAction.java //定义接口 public void SaveBean();
StockActionDao.java // 做具体的实现 ,创建数据库连接啊,取得bean里的数据拉,insert xx表拉.

比如你创建了一个bean 对应一张表(如库存)。
web 页面对应一个表单。

表单---保存提交到 actiondo.jsp
------actiondo.jsp----------
StockBean sb = new StockBean();
sb.setAmount(request.getParameter("amount"));
...............收集表单数据

StockAction sa = new StockActionDao();
sa.saveBean(sb);
--------------------OK-----------------------







knightzhuwei 2009-08-24
  • 打赏
  • 举报
回复
 什么是DAO

  DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

  DAO的功能:

  1. DAO用来封装Data Source的..就比如,Connection conn = DAOFacotry.createConnection()..
  就可以把Driver. URL. username, passpword这一些放在DAO中
  以后要更改数据库的类型.比如要把MSSQL换成Oracle的话..只需要更改DAOFacory里面的getConnection()里面的Driver.URL.之类的..
  2. DAO也是把对数据库的操作(比如最基本的CRUD操作)全部封装在里面..
  比如说你要你要插入一个新的用户..那么.在DAO中我们只需要提供一个insertUser(User user)这一个方法就可以了..具体的操作是在DAO中实现的...
  那么对于要调用DAO的时候.我们只要知道insertUser(User)是用来插入一个新的用户...而不需要知道是如何实现的。

  一般 DAO是与Abstract Factory模式一起来用的...

  Factory来建立数据库和定位具体的DAO(比如说是UserDao..CustomerDao..)..一般将getConnection设置为static..也可以把HibernateSessionFactory这一个公共类放在这一AbstractFactory类中去

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧