永发信息网

业务对象和数据传输对象的关系和区别?

答案:4  悬赏:30  手机版
解决时间 2021-02-05 08:25
业务对象(Business Object,BO) 和 hibernate的数据传输对象DTO有些什么联系和区别??对表的操作为什么有了DTO还要有业务对象BO??小弟初学不太懂 还请高手指教 如果能用比较浅显的代码例子说清楚 分肯定是你的 谢谢 我看别人的项目里对某个表或者功能中都会有xxxAction类为Struts的Action类,xxxx为Struts的FormBean类,xxxxBO为业务对象类,xxxSO为查询数据类,xxxDTO为数据传输对象类。 还请高手说明下 谢谢`

我看到对同一张表 业务对象BO还有DTO都差不多代码 一些字段 然后就是get/set方法 只是字段数量不同 谢谢各位帮忙 小弟菜得很
最佳答案
1.一般的FormBean里面的字段都是String型的,用于将页面的表单封装,如:
public class UserForm{
String userId;
String userName;
String userAge;
...
//以及一些他们的get/set方法
}
因为从页面表单提交过来的值都是String的.

2.DTO里面属性的类型和数据库表的字段类型相同,否则你的hibernate的hbm.xml会报错。
如:
public class UserModel{
int userId;
String userName;
int userAge;
...
//以及一些他们的get/set方法
}

3.BO里面一般可能会放一些和业务相关的属性:
比如下订单业务,需要用到用户表的字段(姓名,地址,联系电话等字段)和商品表的字段(商品名称,商品价格等字段),那么BO可能会是:
public class OrderService{
//-----------用户表
String userName;
int userAge;
String address ;
...以及他们的get/set方法

//商品表
String goodsName;
int goodsNum;
float price;
...以及他们的get/set方法

}
这样在需要向订单表里面插入一条记录的时候,直接session.save(OrderService的对象)即可.
只不过订单对象set值的时候,是从用户表和商品表2张表里面来的.起到一个拼装的作用.
全部回答
本质上不同,用起来用同一个也可以. 再看看别人怎么说的。
最典型的区别就是各自的职责不一样: BO负责业务逻辑,操纵DTO。但是DTO不能操纵BO。 DTO负责数据传输,但BO不参与。 没有区别吗?
这个题目太简单了,网上就可以查到
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
时尚皮具美容在哪里啊,我有事要去这个地方
在胶州,坐几路车去交通银行啊。。
艺海琴行(巴中平昌县)地址好找么,我有些事要
为什么科目一预约一直不成功
四川省巴中市平昌县站训基地地址好找么,我有
彭字怎样改成闪动的qq头像
我的公积金贷款还没下来,房主突然违约不卖了
启航文印店怎么去啊,有知道地址的么
万家乐JSQ24-12201和万家乐JSQ24-12JP哪个好
惹老婆生气了,说她徐吊了,她不搭理我了,怎
请问大神租写字楼税费怎么算
安监局的特种作业操作证IC卡的电焊工证怎么考
奥迪TT倒车镜片怎样拆,越详细越好,做好有图
一台电脑多少功率
上海视觉艺术学院-5号楼地址有知道的么?有点
推荐资讯
以后我四海为家,这条说说怎么发来着?
进站请安检英语怎么说
描写傅学的成语有那些???
中山市1路车的站点信息
襄樊哪有收二手设备的
熟谓犬能欺得虎,举目数人眼.是什么意思
在进行钢屋架内力计算时,采用全跨永久荷载加
遵规守纪防微杜渐八百字作文
我的QQ以前绑定的不是我的身份证我该怎么改回
请简要介绍面向过程式语言中的三种程序设计的
我领导不接我电话是什么意思
中国信合(建设南路信用社营业部)地址在哪,我
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?