SSM框架的DTO,DO,BO,VO,各个功能的类怎么命名?怎么使用?什么层该用什么类,什么时候应该转为其他类?求解
之前在阿里巴巴java开发手册里,分层领域模型规约看到这块东西。感觉还是一个自己项目的规范吧。
PO,DO是指对应数据库里面的东西,VO是返回给前端的数据。但是DTO和BO感觉分的不是很清晰啊,好像都是指中间的模型,是业务上的模型。现在纠结在这里。还有个问题,mybatis里面的resultType能是DTO或者BO吗?还是只能是DO?
@美好的明天: 因为是规范吗,感觉这些DTO,DO,BO,VO只是让开发者觉得这个对象是用着哪一层的,对象本身是无状态的嘛,resultType你定义成什么对象都不会有错的,只是为了让别人看的清晰,可能一般定义成以PO或者BO结尾。
就以我现在项目来说吧,VO一般是页面需要展示的对象,PO对象就是数据库表结构用mybatis生成工具生成的对象,而DTO作为传输层对象,负责在DAO层把PO对象转成DTO对象,从而返回到controller层或者api层的。自定义的mapper.xml一般resultType就直接用DTO返回了。
@让我发会呆: 比如我现在有一个sql,要求求一堆sum,group by字段,不是写在自定义mapper.xml里面,返回的肯定是DTO吧。DTO转成VO在Service层转好呢还是在Controller层转好?
@美好的明天: 感觉可以放在controller里面,VO只是给某个页面用的嘛,具体的转换逻辑看页面需求的,而你本身的这个service方法可以作为一个公共的接口使用,返回DTO就行了。
@让我发会呆: 谢谢
这是一门课的内容,课时起码需要50小时+200小时作业。所以你还是自行Google吧。
你还是写你的.NET吧
我教你,50一个小时
你给我滚