前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web开发中的POVO小套路

web开发中的POVO小套路

作者头像
zhangheng
发布2020-04-29 14:26:42
5050
发布2020-04-29 14:26:42
举报
文章被收录于专栏:张恒的网络日志

工作时间快有一年了,现在做web开发。发现了一套前后端分离开发的小套路,这里总结一下。

数据映射

在数据这方面,需要底层数据支持,一般存放在关系型数据库中方便查询。所以在代码中需要有Bean能够一对一映射到数据表结构,这里对于数据表结构与代码中的Bean应当是强一致的。我们对这种Bean叫做PO(Persistent Object):持久化对象

数据取得

我们查询的数据可能不止PO本身,可能还包含基于数据表结构本身生成的额外的数据,例如count出来的数据等等。所以,需要一个DO(Domain Object):领域对象,去专门存储这些业务上需要的数据,我们不想再写一次Bean去封装数据表结构,所以可以直接让DO继承PO,形成POVO。即POVO包含了数据表结构本身的数据结构,还包含了另行生成的业务需要的数据结构。

数据转化

POVO的数据是SQL直接取得的,一般情况下,SQL取得的数据已经是可以展示的。但在有些时候,这些数据可能还得再处理,例如:我们取24小时的分小时数据,然后需要求得24小时的数据的占比情况。

这个时候,我的做法是写一个仅与该POVO相关工具类,包含一些能够把SQL转化来的POVO再次处理的静态方法。向上边的例子,我们取得了24条分小时的数据,在这个静态方法中,对24条数据求总,再分别给每条数据的占比字段设置上(数据/总数据)。

数据展示

一条SQL只能取得一个结果集,有时候项目中希望一次请求拿到多个结果集,这时候就需要VO(View Object):视图对象。我们设置一个VO,其属性包含多个经过静态方法转化过POVO结果集。这样,就做到了一个VO返回多个SQL取得的结果集了。

前端渲染

说了这么多,数据还只是一个后端方便前端展示的数据。接下来就需要前端获取这些数据并渲染了。目前流行的就是ajax和fetch两种请求,不管哪种请求,拿到的数据最好是json格式的,springmvc中在conroller方法上加上@ResponseBody,方法返回参数设置为VO类型,这样就可以返回json数据了。采用一些数据绑定的手段,可以将数据轻轻松松的绑定到页面的DOM元素上。目前,我采用的是vuejs。

总结

以上的开发套路让我的开发工作量减少不少,这样做的好处在于可以不用管底层数据/数据表是否准备好,可以先期开发数据转化、数据展示和前端渲染,数据的来源取自Mock即可。等真正的数据产生后,把来自Mock的数据转接自真正数据源就好了。

以上都是一家之言,一点小小的思考,希望对大家能有一些帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据映射
  • 数据取得
  • 数据转化
  • 数据展示
  • 前端渲染
  • 总结
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档