资讯专栏INFORMATION COLUMN

java 代码规则思考

Maxiye / 3374人阅读

摘要:实体类规范网络传输。如查询条件,数据库连表后接受实体类。例子系统时返回项目逾期时长。如果使用了表连接,可以帮你节省大量的代码,在表连接的同时自动替你判断数据是否存在。

实体类规范:

网络传输:DTO。 如前端传值到后端。
中间层:BO。 如查询条件,数据库连表后接受实体类。
数据库表:DO。如user_tab表对应的实体类。
界面展示层:VO。 返回给前端的实体类。

VO实体类:
由于java有默认的数据类型。例如int和Integer,那么在实体类中应该如何定义呢?
答:当前端需要的值为0或者其他整数时,定位为int。又例如:前端需要的值为null或者
其他整数时,定义为Integer。
例子:OA系统时返回项目逾期时长。如果项目还没到逾期时间,那么返回的值肯定不能为0,
只能为Integer。
BO实体类:
推荐全部都用包装类,因为mybatis进行标签判断的时候,都可以用 `null`进行判断。
DO实体类:
推荐使用包装类,接受数据库查询返回时,如果为空,可以直接获取而不用转为基本数据类型。
SQL规范:

到底是否需要表连接?
如果你不用表连接,你需要先在一张表查询,然后需要判断数据是否存在,接着通过这张表查询的数据进行外键的查询。
如果使用了表连接,可以帮你节省大量的代码,在表连接的同时自动替你判断数据是否存在。然而这会存在表数据重复的问题,尽管你可以使用group by,但有时候sum这些聚合函数会不适用与你的业务场景。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72667.html

相关文章

  • 深入理解 Java 多线程系列(1)——一个简单需求的并行改造 & Java多线程的通信问题

    摘要:所以接下来,我们需要简单的介绍下多线程中的并发通信模型。比如中,以及各种锁机制,均为了解决线程间公共状态的串行访问问题。 并发的学习门槛较高,相较单纯的罗列并发编程 API 的枯燥被动学习方式,本系列文章试图用一个简单的栗子,一步步结合并发编程的相关知识分析旧有实现的不足,再实现逻辑进行分析改进,试图展示例子背后的并发工具与实现原理。 本文是本系列的第一篇文章,提出了一个简单的业务场景...

    ruicbAndroid 评论0 收藏0
  • 品阿里 Java 开发手册有感

    摘要:并发处理书摘第一,线程必须通过线程池来提供,不允许显式创建线程。具体行锁,表锁大家可以自行百度了解。因为它是定义的标准统计行数的预发。二者得保留事故服务器现场。最后感谢小册子阿里巴巴开发手册,感觉不错。 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! showImg(https://segment...

    bang590 评论0 收藏0
  • 《Head First Java》的思考总结:第二篇

    摘要:局部变量和方法的参数都是被声明在方法中,它们是暂时的,且生命周期只限于方法在放在栈上的这段期间也就是方法调用至执行完毕为止。让一个类不被实例化的方法有两种一种是将类声明称抽象类,第二种是将其构造函数标记为私有的。 前言: 今天要分享的是关于 《Head First Java》这本书的读后感,这本书有点小厚差不多有七百页左右,所以我花了几乎整个国庆的时间去阅读,学习。读完之后发现,受益颇...

    jindong 评论0 收藏0
  • Web UI自动化最佳实践

    摘要:三思而后行自动化测试最终目的是啥投入产出比的最佳平衡点在哪很多实施者在搭建自动化框架前往往缺乏思考,为了自动化而自动化。 三思而后行 UI自动化测试最终目的是啥?投入产出比的最佳平衡点在哪?很多实施者在搭建UI自动化框架前往往缺乏思考,为了自动化而自动化。三思而后行,方向决定成败。由于项目接口(API and Service)自动化代码行覆盖率已经达到70%,基于当前自动化人力和项目质...

    canger 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<