VO/DTO在spring boot2/mybatis plus项目中之简单应用

作者&投稿:示夏 (若有异议请与网页底部的电邮联系)
在我使用mybatis plus开发的项目中,总结出几条经验:
1、单表最简单
直接Wrapper.query构建QueryWrapper查询对象,也可以通过集成Model,得到一系列的加强功能,可以说单表操作,其灵活性和简便、性能,和JPA一样牛B(我用过一段时间的JPA,使用repository查询也很方便)。
在Controller层,VO常常被我用来简化返回的对象,毕竟BeanUtil还是挺好用的,追求性能的话,恰好IDEA有个插件可以很好的实现手动版赋值拷贝。
DTO再单表操作的时候,作用就不是那么的明显了,为了偷懒,一个VO跑所有,我知道不好,没办法就是懒。
简单总结:单表操作,vo,dto主要用来简化对象的属性,不能一个请求连User的password都丢出去吧,明文密码的现象有木有。
2、联表查询
使用Mybatis plus联表查询,基本上就退回到mybatis的层面了,VO/DTO这个时候就算是比较好的补充了,反正有的人喜欢SQL,有的喜欢对象操作,还有注解型、xml型,玩法真多。
A、一对多的场景:
Controller(使用VO接收和返回,基本上可以做到一个请求完成所有需要的data),当请求到达Controller后转发给Service,使用我们可以开始拆分成不同的dto来使用了。Service入参的时候,有两个选择:从VO提取需要的参数封装成Map对象,调用Wrappers.query查询;或者封装成入参DTO,方便复用,这里根据场景选择;返回时DTO就有必要了,一边来说,到了Service层我们不会考虑数据脱敏等安全问题,我们考虑性能。您可能会说,不该mybatis的默认service返回的都是数据实体对象,装DTO岂不是浪费,NONono,喜欢SQL的同学对dto一定是喜欢的不得了,返回DTO不至于出现数据实体的残躯(属性缺胳膊少腿)。喜欢默认Service的同学,看好了,我说的是一对多的场景,我给点提示"多线程",将无数个小DTO通过并行的方式,拷贝给VO实行组装,速度提升不是的一两点,特别是一个好大的页面请求,还有别忘记“同步锁”。那种CPU狂飙的感觉,爽。
B、多对多(不常见)
见过意大利面吗,一团一团,前台的同学,一个form请求过来,可能连参数名都对不齐。一般情况下,我建议大家直接拒绝请求。但如果对方付了RMB的话,(比如你是一个接口商),我们还是要勉强抬抬眼皮的。多对一的场景出现在一个不常见的场景,比如说:我们的接口需要一次接收多个对象组装的data,第一选择,拆成小dto,传给各自的mapper,返回的时候组装自己的VO。第二选择,BeanUtils又来了,属性拷贝走起Wrppers查询,再用VO封装;第三选择,性能最好的,写SQL。他们丢再大的参数我也不怕了。

总结:
VO:简单的时候可以替代dto从前跑到后;
DTO:只在Service,mapper层跑;
要会拆,能拆。充分利用mybatis plus的条件查询,因为太爽了。对象查询可能会慢,但我们的时间更重要,不是吗?
最后,这是一篇水文。

~

汉语拼音「o」的正确读音是怎样的?
答:o(喔):嘴巴圆圆,舌身略向后缩,舌身后部稍微隆起。其他拼音的读音如下:1、a(啊)嘴巴张大,舌位最低,舌身后部微微隆起。2、e(鹅)嘴巴扁扁,舌位高低与o大体相同,只是嘴角向两边展开。3、i(衣)牙齿对齐,口形扁平,舌尖接触下齿背,使舌面前部稍微隆起。4、u(乌)嘴巴尖尖,双唇拢...

o拼音有几种?
答:3、读[ə]例如:mosquito(第一个o)。

拼音“o”该怎么念,是“噢”还是“喔”?专业人士的回复来了
答:就拿日常生活中最常用到的一个“坡”为例,其拼音为“po”,o在其中的用法是“喔”,可若是反过来,实用“欧”做云母发音的话,“ 坡”这个字就会彻底消失,变成“剖” 。所以说,众多网友的疑虑实际上非常正常,也看似非常有道理,只不过,这件事到此为止却并不算结束,拼音“o”,到底应该...

o代表什么意思
答:O, o 是拉丁字母中的第15个字母.在希腊语 Ο (Omicron)、伊特鲁里亚语和拉丁语中,O表示元音/o/.虽然闪族语字母'Ajin在一些字母表中被用来作为转写[o],但是它的通常都作为辅音[/��/]使用(类似于阿拉伯语字母�� 叫做'Ajn').许多语言都有形似O的字母,而且都代...

o的正确发音拼音
答:o的正确发音拼音:字母"o"的正确发音是/ɔ/。1、o字母的发音 在标准汉语拼音中,字母"o"表示的是半开后圆唇元音,音标为/ɔ/。它的发音类似于英语中的"or"中的"o"音。单韵母发音时口形不能变,如果读“喔”,拼do和duo就没有区别了,实际上应有严格区分的,单韵母是不用拼读的...

o拼音是什么?
答:“o”的正确读音是【o】,o 属于单韵母,也就是元音韵母。单元音的特征是在发音的全过程中,唇形舌位始终不变动,从这个要求上可以尝试,发“o”这个音时,拢圆嘴巴,口形不能变动,口形不变动是发不出o(wo窝)这个读音的。o在现代汉语中的发音是后、半高、圆唇元音。发音时口腔半闭,舌头后...

“o”的正确读音怎么读?
答:汉语拼音中的o,应该读“喔”。“喔”有三个读音,其中有两个是用作叹词。在此,“喔”应读为用作叹词的“ō”,而不应读为用作“鸡啼声”的“wō”。喔,读音为ō 、wō 。 本义指古代大户人家的佣人的叫早声,或古代的旅舍值夜班的人员的叫早声。特指雄鸡的叫早声。读音为ō时是一个...

" O "这在中文里叫什么字?什么意思?
答:0是-1与1之间的整数,汉字记做“零”。既非正数、又非负数。小写 〇 大写 零 二进制 0 十六进制 0 ”零”发源于印度,后来传入了罗马.零 〔拼音〕líng 五笔输入:fwyc 〔部首〕 雨 〔部首笔画:〕8 〔 总笔画〕 13 〔 笔顺编号〕1452444434454 〔解释〕1,零碎;小数目的(跟“整”数相对...

o 是什么意思?
答:在日常生活中,“o”这个字母并没有什么特别的意义。但是,在网络语言中,“o”有时被用来表示一个表情。比如,“o v o”就是一个表示惊讶、发呆等感情的表情。此外,“o”还可以用来代替数字“0”,这是因为两者的形状很像。比如,“100”可以用“1o0”来表示。在一些特定的场景中,“o”也...

o是什么意思
答:O是拉丁字母,在拉丁语的字母表里面,O的位置是第15位,和英语字母的功能类似,通过与其它字母组合,形成不同的意思,用于交流。5、音标 O同时也是表示音标的符号,在英语音标中,/o/是中闭后圆唇音,为国际音标,通过音标的学习,能让人发音更加纯正,学习英语更加轻松。参考资料来源:百度百科-o (...