设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
影视
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
Java
›
关于 mybatis 和 dto 的一点疑问
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
卫生巾实测
›
车牌摇到号了,无奈手头不宽裕,纠结是买二
›
看了《再见爱人》气的晚上睡不着
›
请教一下大家是如何清理机械键盘缝隙中的灰
›
项目开源一年,终于 3000 star 了,截图纪
今日热议主题
YouTube Premium 要求更改为所在国家付款方
哎,不知何时养成了“做事前先甩锅”的恶习
[贴贴剪切板] 五星上将麦克阿瑟将军说好用
求助,被入侵了,如何减小损失?
威联通锁定文件夹无法解锁,遇到这个问题的
有没有可以红包抽奖的微信小程序?
避雷香港阿里云轻量,偷偷限速到 Upload: 0
出 88vip 权益 11.26
微信 FCM 推送方案,极其稳定,不需要任何
自建远程桌面服务有什么好的推荐吗?
关于 mybatis 和 dto 的一点疑问
skai0dev
· 2024-9-6 15:05:05 · 143 次点击
用 mybatis (用的 XML ,没有用 MybatisPlus )如果遇到了一些复杂的查询(比如连接多个表查询)有时候会返回一个多个表中的字段组成的 DTO 类用来接收结果,这个结果 DTO 一般也是直接返回给前端的,所以有时候就感觉这种方式好像有点不太符合分层隔离的规范呢?感觉这个 DTO 好像直接干穿了视图层,业务层和数据层呢。
所以想问问各位大佬,是使用方式不对呢?还是一般实践中就只能这样呢,有更好的方法吗?
举报
·
143 次点击
登录
注册
站外分享
微信扫一扫
QQ分享
微博分享
豆瓣分享
复制链接
显示全部
|
最早评论
10 条回复
11#
gerefoxing
小成
2024-9-6 17:56:45
要加一层 VO ,你的 DTO 查询会随着以后业务增加字段,直接返回的会涉及到一些不想暴露或者多余无用的信息字段,加一层 VO
10#
cBlank
初学
2024-9-6 17:29:01
一般我都是创建 DO,DTO,VO 这几个,返回给前端一般都要过滤下。
9#
qbmiller
小成
2024-9-6 16:44:38
既然返回前端了。这个 dto 命名改成 VO VIEW 。 方便辨认。 大胆用
8#
ENNRIaaa
小成
2024-9-6 16:41:40
没关系吧,只要不返回多余的字段就行。
7#
sagaxu
初学
2024-9-6 15:44:04
别的语言风俗习惯上不搞这么多 XXO 的,影响维护性了吗
6#
nothingLeft
小成
2024-9-6 15:40:22
还 DTO VO BO ,老子 entity 一把梭,遇到需要在增加 VO
5#
GensKinsey
初学
2024-9-6 15:28:46
BeanUtils 拷贝一份到 VO
地板
wu00
小成
2024-9-6 15:26:17
DTO 转 VO 呗。
数据层给你的 DTO 包含 Password 字段可能是用来处理逻辑的,你的 VO 不能输出该字段吧?
板凳
thevita
小成
2024-9-6 15:25:40
hexagonal 也好, layer arch 也好,我们对应用进行分层不是最终目的,是为了方便理清依赖关系,解耦业务逻辑与外部依赖。这里的 DTO 所在的层(Domain/Query) 反正都会被 view 层依赖的,如没有其他需求,是可以直接用的,可以当作 view 层这个 对象的实现直接使用了 domain 层定义的对象(比如作为一个 alias )
沙发
dzdh
小成
2024-9-6 15:07:17
跟 DDD 一样。怎么可能 100%的隔离。100%的隔离就是用户和商品和订单不能互相调用。你拼数据吧。
返回顶部