主题 : 想问下DAO模式下的类是javabean吗?
级别: 白丁
UID: 9986
积分:34 加为好友
威望: 0 精华: 0
主题:6 回复:3
注册时间:2010-08-13
在线时长:0
1#   发表于:2011-06-03 21:36:48  IP:121.210.*.*
想问下DAO模式下的类是javabean吗?
级别: 总版主
UID: 10736
积分:148522 加为好友
威望: 205 精华: 42
主题:287 回复:126222
注册时间:2010-09-08
在线时长:18.19
2#   发表于:2011-06-04 08:47:58  IP:220.31.*.*
  JavaBean是数据的承载体,负责把一组有逻辑的数据从一个层传到另一个层。
  DAO的出现是对持久层的变动的一个解决方案。
  对于不同的持久介质(RDBMS、XML、ODBMS等)、不同的提供厂商(Oracle、Mysql等)提供的产品,进行持久化操作时,对于业务逻辑层应该是统一的,于是DAO模式就出现了。
  对于同一个业务操作,例如添加一个用户,请求到达业务层,只需调用DAO层的addUser()即可。而到底是怎么添加的、以及添加到哪里,是业务层不用关心的,也是不要关心的。
  于是,持久层将利用业务层传递来的请求数据,即封装了要添加的用户信息JavaBean,添加到持久层:Oracle就要取序列,Mysql会自动增长,XML就要手动控制了。这些实现细节对业务逻辑层是一样的效果。
  但是DAO模式中也会有一些数据承载体,不过它们承载的不是业务数据,而是持久化操作的相关对象,例如DAO对象,DAO工厂,连接对象等。表面上看,这些也承载数据,但它实际是包含了内在的逻辑和操作。例如连接对象的打开和关闭,事务的回滚和提交等。
  所以,严格意义上来说,它们不是纯粹的JavaBean。纯粹的JavaBean是只包含属性和这些属性对应的getter和setter。
路漫漫其修远兮,吾将上下而求索!
1 共1页