dao层和service层和control_JavaWeb 中 POJO、BO、VO、DO、DTO、DAO、PO 详细介绍

dbd35ff421ae96ebd3c4b6a5fcd75f95.png

更多优质文章可关注:

最全的 Java 知识总结​github.com

PO

PO(持久对象)是 Persistent Object 的缩写,用于表示数据库中的一条记录映射成 Java 对象。PO 仅仅用于表示数据,没有任何数据操作。通常遵守 Java Bean 规范,拥有 getter/setter 方法。

BO

BO(业务对象)是 Business Object 的缩写,用于表示一个业务对象,可以进行 PO 与 VO/DTO 之间的转换。BO 通常位于业务层,要区别于直接对外提供服务的服务层;BO 提供了基本业务单元的基本业务操作,在设计上属于被服务层业务流程调用的对象,一个业务流程可能需要调用多个 BO 来完成。也可以理解我们开发中的 Service 对象。

DO

DO(领域对象)是 Domain Object 的缩写。个人觉得可以代替 PO,用于表示数据库对象,

VO

VO 是 Value Object 的缩写,用来表示一个与前端进行交互的 Java 对象。通常拥有 Java Bean 的规范,拥有 getter/setter 方法。

DTO

DTO(数据传输对象) 是 Data Transfer Object 的缩写,用于表示一个数据传输对象。DTO 通常用于不同服务或服务不同分层之间的数据传输。DTO 与 VO 概念类似,并且通常情况下字段基本一致。但 DTO 与 VO 又有一些不同,这个不同之处主要实在设计理念上,比如 API 服务需要使用的 DTO 就可能与 VO 存在差异。通常拥有 Java Bean 的规范,拥有 getter/setter 方法。

DAO

DAO(数据访问对象) 是 Data Access Object 的缩写,用来表示一个数据访问的对象。使用 DAO 访问数据库,包括 CRUD 等操作,与 PO 一起使用。DAO 一般在持久层,完全封装数据库操作,对外暴露的方法使得上层应用不需要关注数据库相关的任何信息。

POJO

POJO 是 Plain Ordinary Java Object 的缩写。是 PO、DO、VO、DTO 的统称。不会将一个对象命名为以 POJO 结尾。

注意:为什么需要定义这些 Object 对象呢?

个人觉得是因为每一层负责每一层的工作,然后也可以减少传输数据量的大小和保护数据库结构不外泄。如果你所有地方都使用 PO 对象,那么前端就很轻易的知道了你的数据库结构,同时有些数据根本不用传到前端的(可以节省传输数据量的大小),比如我们一些数据库里面表示是否删除、更新时间等这些字段,是不需要让前端知道的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DAO :数据访问对象,负责与数据库交互,如读写数据库,执行数据库操作等。 Service :服务,负责处理业务逻辑,如数据处理,业务流程控制等。 Servlet:JavaWeb 的 Servlet 是一种用于生成动态网页的 Java 程序,是 JavaWeb 开发的核心。Servlet 接收客户端的请求,处理请求,并返回响应。 ### 回答2: DAOService和Servlet是Java Web应用程序非常重要的三个组件,它们各自有着不同的职责。 DAO(Data Access Object)是数据访问,它是与数据库打交道的DAO主要负责对数据库数据的访问、增删改查等操作。在开发Java Web应用程序时,我们通常采用ORM框架(如Hibernate、MyBatis等)来操作数据库,在DAO就需要定义与数据库的交互接口,同时也可以定义一些数据查询的方法。DAO的主要作用是将业务逻辑与底数据库操作分离,提高系统可维护性、可扩展性、降低耦合度。 Service是业务逻辑,它是整个系统的核心Service主要负责处理业务逻辑,是DAO和用户界面的介。Service对外部提供服务,并且调用DAO提供的方法来完成对数据库的操作。Service的主要作用是将系统不同的业务逻辑分离开来,使得系统更加清晰,易于维护、升级和测试等。 Servlet是Java Web应用程序的一种服务器端组件,它是处理HTTP请求和响应的核心。Servlet主要负责接收请求、处理业务逻辑以及返回响应结果。Servlet可以通过Request对象获取客户端传递过来的参数,通过Response对象将结果返回给客户端。Servlet可以实现不同业务逻辑之间的切换,比如通过路由技术实现请求转发或者重定向,从而使得请求能够被正确的处理。 综上所述,DAOService和Servlet在Java Web应用程序各司其职,DAO处理与数据库交互的逻辑,Service处理业务逻辑,并且调用DAO提供的操作完成任务,Servlet协调请求和响应,同时也承担路由的任务。这三共同协作完成了Java Web应用程序的开发和部署。 ### 回答3: DAOService和Servlet是在JavaEE应用程序常见的三个级组件。 DAO(数据访问对象)是用于提供与数据库交互的接口。开发人员通过DAO提供的接口实现数据的增删改查等操作。在DAO,通常会涉及到数据库连接的操作、SQL语句的编写和执行、数据的封装等。 Service(服务)用于业务逻辑的实现,通常会处理通过DAO获取到的数据并进行一些判断和处理。Service代码通常会包含多个方法,每个方法会涉及到一些具体的业务逻辑,如订单处理、用户认证等。在Service,还需要处理一些事务和异常,确保数据的正确性和应用程序的稳定性。 Servlet是Java一种特殊的类,用于处理HTTP请求和响应数据。在Web应用程序,Servlet通常用于Web资源的控制和管理。Servlet能够通过URL映射等方式获取请求信息,根据请求信息进行相应的业务处理,并返回处理结果。开发人员可以通过Servlet技术实现Web应用程序的控制逻辑和业务逻辑。 在实际开发DAOService和Servlet常常是紧密联系在一起的。例如,在Web应用程序,Servlet会调用Service实现具体的业务逻辑,Service则会调用DAO获取数据。三个级组件之间的相互调用关系通常被描述为一种“调用链”模式。由于这些级组件的不同职责,每个组件的代码结构和编写方式也有所不同。开发人员需要根据自己的实际需求和技术经验,合理应用这些组件,以实现高质量的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值