谁能给我详细解释一下框架中的 model dto dao 以及serives 层都是干嘛用的,他们各自的作用是什么?不甚感激!
解决方案 »
- jdbc操作oracle的BLOB字段时遇到的问题!!
- 如何复制表中的一条数据为另一条并把id改了
- new ActionForward 和 mapping.findForward("") 有什么區別
- 关于java线程池 Ⅰ
- 是Tomcat的问题么?
- struts里边关于arraylist用法遇到的问题,本人现在线等待
- 学J2EE的问题
- JTable中怎么实现鼠标点击一行中的任意一个单元格,整行显示蓝底白字? -在线等
- 高分相送:我为什么看不到jar文件啊?
- 安装了Microsoft SQL Server 2000 JDBC Driver,并且将lib\下的三个.jar包加入到CLASSPATH中了,还重起了机器,还是说No Suitable Driver
- 如何实现当用户发送一个页面请求,返回给用户以xml文件形式显示的页面
- 利用线程定时读取数据库数据
我觉得这东西你百度百科里面打上"MVC框架",基本上就能找到你所要的所有结果。
dto:数据传输对象
dao:数据库访问层
serives:业务层,对dao层的方法的排列组合
serives:指的就是对外的功能接口。比如仓库管理,对于goods,我有查询goods的功能,有删除goods的功能,对应的serives就是提供这些功能的接口函数。不用去管怎么查询的。dao:指的就是如何实现对应的serives了,里面定义一堆方法,比如查询功能,我按goods名称查询是一个函数,按类别查询是一个函数。一般sql都写在这。dto:我们存放数据库的数据,比如goods的信息,有名称,价格,日期什么的,如果我有个方法只要名称,价格。如果每次都把所有数据都取一次就很繁琐,这时dto里面定义一些方法,把需要的属性一起取出来,比如物品有存进日期,取出日期,生产日期等,我们可以把有关日期的属性通过自己定义的一个方法取出来。该方法返回的是一个goods类的对象。
MVC
一句话:
1. dto: 数据传输对象,作为数据的一种封装在各个层之间进行传递。
2. dao: 数据访问对象,作为数据的管理类,也就是封装对数据的增删改查等操作。
3. services: 服务对象,作为业务对象,封装了业务逻辑。
4. model:业务模型,对业务的各个实体和实体之间的关系进行的抽象。DTO:也有叫这个为VO(Value Object)的。这个对象的使用主要是一种数据结构,而对于它的行为是比较弱化的。使用VO作为接口的参数有几个好处:
1. 方法的参数简单。
2. 便于维护,对数据的变更都发生在VO中,接口不需要修改。
DAO: 可以理解成是业务逻辑的原子操作。向services对象提供对数据的基本操作。
Services: 业务的功能需要在这个层次有完整的匹配,对于MVC来说,就是MODEL。也是整个业务模型对外提供的接口。
比如:(以下是伪代码)
UserDAO中有两个方法,
boolean checkName(String name);
User createUser(User user);
UserManager中有一个创建用户的方法:
User createUser(User user){
//1.检查用户名是否可用
if(dao.checkName(user.getUserName()))
//可用的话就创建
dao.createUser(user)
.......
....... }在UserManager中createUser方法内部,就是对dao层方法的排列组合。
明白否?
至于这位兄弟说的情况就应该是使用Hibernate来实现DAO层吧。