首页 新闻 会员 周边

Java的SSM框架POJO领域模型的命名和使用

0
悬赏园豆:50 [已解决问题] 解决于 2018-11-01 14:06

SSM框架的DTO,DO,BO,VO,各个功能的类怎么命名?怎么使用?什么层该用什么类,什么时候应该转为其他类?求解

美好的明天的主页 美好的明天 | 初学一级 | 园豆:157
提问于:2018-10-30 20:10
< >
分享
最佳答案
0

之前在阿里巴巴java开发手册里,分层领域模型规约看到这块东西。感觉还是一个自己项目的规范吧。

收获园豆:50
让我发会呆 | 老鸟四级 |园豆:2929 | 2018-11-01 13:35

PO,DO是指对应数据库里面的东西,VO是返回给前端的数据。但是DTO和BO感觉分的不是很清晰啊,好像都是指中间的模型,是业务上的模型。现在纠结在这里。还有个问题,mybatis里面的resultType能是DTO或者BO吗?还是只能是DO?

美好的明天 | 园豆:157 (初学一级) | 2018-11-01 13:38

@美好的明天: 因为是规范吗,感觉这些DTO,DO,BO,VO只是让开发者觉得这个对象是用着哪一层的,对象本身是无状态的嘛,resultType你定义成什么对象都不会有错的,只是为了让别人看的清晰,可能一般定义成以PO或者BO结尾。
就以我现在项目来说吧,VO一般是页面需要展示的对象,PO对象就是数据库表结构用mybatis生成工具生成的对象,而DTO作为传输层对象,负责在DAO层把PO对象转成DTO对象,从而返回到controller层或者api层的。自定义的mapper.xml一般resultType就直接用DTO返回了。

让我发会呆 | 园豆:2929 (老鸟四级) | 2018-11-01 13:49

@让我发会呆: 比如我现在有一个sql,要求求一堆sum,group by字段,不是写在自定义mapper.xml里面,返回的肯定是DTO吧。DTO转成VO在Service层转好呢还是在Controller层转好?

美好的明天 | 园豆:157 (初学一级) | 2018-11-01 13:56

@美好的明天: 感觉可以放在controller里面,VO只是给某个页面用的嘛,具体的转换逻辑看页面需求的,而你本身的这个service方法可以作为一个公共的接口使用,返回DTO就行了。

让我发会呆 | 园豆:2929 (老鸟四级) | 2018-11-01 14:05

@让我发会呆: 谢谢

美好的明天 | 园豆:157 (初学一级) | 2018-11-01 14:06
其他回答(2)
0

这是一门课的内容,课时起码需要50小时+200小时作业。所以你还是自行Google吧。

爱编程的大叔 | 园豆:30839 (高人七级) | 2018-10-31 09:48

你还是写你的.NET吧

支持(0) 反对(0) 美好的明天 | 园豆:157 (初学一级) | 2018-10-31 09:49
0

我教你,50一个小时

乐可2016 | 园豆:202 (菜鸟二级) | 2018-11-01 10:46

你给我滚

支持(0) 反对(0) 美好的明天 | 园豆:157 (初学一级) | 2018-11-01 11:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册