2016 - 2024

感恩一路有你

java组合与复用 Java Web开发中,业务逻辑写在SQL里好还是代码里好呢?有什么建议吗?

浏览量:1859 时间:2021-04-05 13:04:06 作者:admin

Java Web开发中,业务逻辑写在SQL里好还是代码里好呢?有什么建议吗?

目前,大多数研发团队都要求用代码实现业务逻辑,SQL操作往往是最基本的操作。用SQL表示业务逻辑,即用存储过程表示业务逻辑,是一种传统的开发方案。

在C/s时代,很多逻辑都是通过SQL来实现的,主要是因为业务规模和部署方式。在早期的C/s编程时代,它通常是在非分布式环境中开发的,在大多数情况下,它不需要考虑可移植性问题。这时,使用SQL来完成业务逻辑就更方便了。

使用存储过程来完成业务逻辑的最大优点是性能会更好,但这也取决于业务的大小。如果业务规模过大,业绩会更差。早期的数据存储规模比较小,所以使用存储过程比较方便。

当前网络发展已进入大数据、云计算时代,业务类型和业务规模发生了巨大变化。特别是随着NoSQL数据库在大数据时代的广泛应用,使用SQL语句来完成业务逻辑的场景越来越少。而且,目前大多数程序都是分布式的,使用SQL存储过程处理业务逻辑非常麻烦,会导致整个项目的可移植性和可读性严重下降。

目前,在传统企业的开发团队中,使用SQL来处理业务逻辑是相当普遍的,因为传统企业的数据库大多还是关系数据库,没有可移植性的要求。这种固定的场景开发可以使用SQL来处理业务逻辑。在将来,使用SQL处理业务逻辑时会出现一些应用场景,因此有必要学习如何编写存储过程。

Java和Python的发展,哪一个更好一些?

在我看来,它仍然是Java

1。虽然Python是近年来流行的编程语言,但它在机器学习、人工智能等领域得到了广泛的应用,我也用了半年的Python。有时候我要完成一个小任务,所以我会选择Python,因为它非常简单。但是他的架构不是很完美,基本的运行速度也比较慢。

2. Java一直是互联网上的热门话题。这么多年来,从最初的互联网应用到移动互联网时代,生活的方方面面都离不开Java构建的系统。许多公司在系统中使用java语言。一般来说,底层代码不会随意更改。所以Java工作应该很容易找到。

下面是tiobe编程语言的最新排名。

不过,我也认为Python总有一天会超过Java,所以我建议程序员无论怎样都应该更多地接触新技术,只有吃了老钱,他们才会被砍掉。

写JAVA后端代码时逻辑混乱怎么办?

后端代码的复杂性通过分割和裁决来解决。首先,通过拆分项目,项目之间可以存在依赖关系,但必须是单向依赖而不是环依赖。如果存在环,我们必须考虑将环依赖分解为单独的项目来解决环依赖。

对于项目中的代码,可以通过水平拆分和垂直拆分来降低复杂性。水平层分为控制器、服务、Dao和sqlmap,垂直层分为系统、biz1、biz2、Bizn,但在数据通畅连接中,水平拆分和垂直拆分相结合,如下图所示:

通过这种分层方式,代码层是分开的,结构清晰。对于一些跨模块调用的接口,如同一个数据表需要在不同的模块中操作时,可以将该接口作为公共接口升级到上层cxmodule,对于一些可重用的、相对独立的功能,可以在cxmodule中定义一个干净的接口,业务逻辑可以通过在模块的功能模块中实现接口来实现,而不需要使用spring的事务管理机制,从而降低代码的复杂度。

java业务逻辑,写在哪里比较好?

现在很多公司的开发人员都应该采用MVC架构。

MVC是所谓的模型、视图、控制器。

每一层都有明确的分工。

对于简单的项目,不管nignx如何,网关通常都会将请求从前端发送到后端,首先发送到控制器,然后发送到服务层,然后发送到Dao层。

这里的服务层就是所谓的业务层,专门负责业务处理操作,而Dao层则负责处理数据库,将数据库中的数据带回服务,经过服务处理后返回控制器层。控制器通过视图解析器解析页面,并通过浏览器呈现页面。

基本上,我认为答案是显而易见的。也就是说,Java业务逻辑是在服务层编写的。

事实上,服务层涉及接口和接口实现。

在编写代码时,我们通常为控制器定义一个调用接口。

实际上,服务接口的实现类应该是编写业务逻辑的地方。

当然,许多公司可能有多个服务层,例如,有一个管理层继续对数据进行特殊的业务处理。这里只是一个简单的概述。

每个公司的每个项目根据其自身业务可能有不同的体系结构。但本质是一样的。

综上所述,业务逻辑必须作为一个独立的层来处理,这样便于扩展和维护。记住不要在控制器中编写所有业务逻辑。

每一层都有自己的分工,是捏合在一起的。代码不仅冗长,而且杂乱无章。

好吧,我希望我的回答能帮助你

!如果你有兴趣,可以关注一下,一起学习交流!

java组合与复用 java如何复用代码 java 多路复用

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。