由于对象范例和关系范例这两大领域之间存在“阻抗不匹配”,所以把数据持久层单独作为J2EE体系的一个层提出来的原因就是能够在对象-关系数据库之间提供一个成功的企业级映射解决方案,尽最大可能弥补这两种范例之间的差异。
扩展资料:
J2EE的三层结构是指表示层,业务逻辑层以及基础架构层,这样的划分非常经典,但是在实际的项目开发法中,开发者通常对三层结构进行扩展来满足一些项目的具体要求。
一个最常用的扩展就是将三层体系扩展为五层体系,即表示层、控制/中介层、领域层、数据持久层和数据源层。
在J2EE的规范中,为EJB定义了两种持久化的解决方案:一种是BMP,另一种是CMP,其中CMP不需要将SQL语句加入到代码中。
在采用J2EE的应用中,EJB CMP方式得到了广泛应用。更加引人注意的是,随着EJB规范的发展,CMP也包含了一些高级关系的内容。
但是,CMP的使用比较复杂,对很多开发人员来说比较难以掌握。而且,不是在所有的情况下都适合在系统中采用EJB,而且想要非常清楚的了解EJB规范也是非常费时的。
在用EJB编码前,先要让专家理解API,然后需要了解每一个容器部署时所要关注的技术。此外,许多情况下商用容器的性能和支持也不是很好。
参考资料:百度百科-数据持久层
关于这个可以给考官类比下。*** 作系统也是一个软件,其程序运行时的数据是存储在内存中的,在断电或者退出之后,这些数据都会消失,后来有了大容量硬盘或者数据库,这些数据可以“永久”的保存起来,以便于再利用,比如再次加载进内存用来进行显示、运算等供系统的“逻辑层”使用。
持久层的作用是提供了可以将系统数据随时存储到“永久不遗失”的设备中,随时再利用的功能。这个功能大多通过关系数据库来实现,所以很多人误解,数据持久层就是DA层,这个是片面的。
---------------------------------------------------
以上。期待大家进行补充。
MVC就是Model-View-Control(控制器Controller)-
负责转发请求,对请求进行处理。
(视图View)
-
界面设计人员进行图形界面设计。
(模型Model)
-
程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
基本上Controller跟业务层差不多
View就是表现层,Model就是持久层
基本的思想就是软件各个模块之间尽量松耦合,通过接口通讯,比如你从数据库中获取数据都是通过一个固定的接口,只要接口不变,在修改底层跟数据库通讯的代码的时候(比如你之前用MySQL,现在想用SQL
Server了)就不会影响到业务层跟表现层。同时各个部分逻辑更加清晰。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)