业务对象和数据传输对象的关系和区别?
来源:百度知道 编辑:UC知道 时间:2024/05/07 13:01:23
我看到对同一张表 业务对象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不参与。