简述数据持久层和ORM的作用。

题目
问答题
简述数据持久层和ORM的作用。
参考答案和解析
正确答案: 1.数据持久层提供了数据访问方法,能够使程序员避免手工编写程序访问数据持久层,使其专注于业务逻辑的开发,并且能够在不同项目中重用映射框架,大大简化了数据增,删,改,查等功能的开发过程。
2.ORM的概念是数据持久层的一种子实现,它通过将映射的机制,把一条数据库中的记录处理成一个Java的class处理,这样在CURD的处理上真正实现了以面向对象开发,缩短维护周期。
解析: 暂无解析
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

从功能上讲,数据库应用系统设计包括下列四个层次,其中包括构件设计的是( )。

A.表示层

B.业务逻辑层

C.数据访问层

D.数据持久层


正确答案:B
从功能上讲,数据库应用系统设计包括下列四个层次:①表示层,位于最外层,离用户最近,用于显示数据和接受用户输入的数据;②业务逻辑层,表示层和数据访问层之间通信的桥梁,主要负数据的传递和处理,例如数据有效性的检验、业务逻辑描述相关功能。业务逻辑层概要设计包括:结构、行为、数据接口、故障处理、安全设计、系统维护与保障等方面的内容。③数据访问层,主要实现对数据的保存和读取操作;④数据持久层。由上述可知,业务逻辑层的主要任务是梳理DBAS的各项业务活动,将其表示为各种系统构件(如类、模块、组件等),因此构件设计属于业务逻辑层。

第2题:

从功能角度数据库应用系统可以划分为四个层次来实现,其中数据的完整性维护工作出现在( )。

A.表示层

B.业务逻辑层

C.数据访问层

D.数据持久层


参考答案:D

第3题:

论企业应用系统的数据持久层架构设计 数据持久层(Data Persistence Layer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。它能够使程序员避免手工编写访问数据源的方法,使其专注于业务逻辑的开发,并且能够在不同项目中重用本框架,这大大简化了数据的增加、删除、修改、查询功能的开发过程,同时又不丧失多层结构的天然优势,继承延续应用系统架构的可伸缩性和可扩展性。当运用关系型数据库作为数据存储机制时,在业务层与数据源间加入数据持久层,能够解决对象与关系的“阻抗不匹配”问题,将对象的状态持久化存储到关系型数据库中。

请围绕“企业应用系统的数据持久层架构设计”论题,依次从以下三方面进行论述。 1.概要叙述你参与分析和设计的企业应用系统开发项目以及你所担任的主要工作。 2.分析在企业应用系统的数据持久层架构设计中有哪些数据访问模式,并详细阐述每种数据访问模式的主要内容。 3.数据持久层架构设计的好坏决定着应用程序性能的优劣,请结合实际说明在数据持久层架构设计中需要考虑哪些问题。


正确答案:

一、简要描述所参与分析和设计的企业应用系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。
二、分析在企业应用系统的数据持久层架构设计中有哪些数据访问模式,并详细阐述每种数据访问模式的主要内容。
企业应用系统的数据持久层架构设计中主要有五种数据访问模式:
(1)在线访问(Online Access)。OA是最基本的数据访问模式,也是在实际开发过程中最常采用的。这种数据访问模式会占用一个数据库连接,读取数据,每个数据库操作都会通过这个连接不断地与后台的数据源进行交互。
(2)数据访问对象(Data Access Object)。DAO模式是标准的J2EE设计模式之一,开发人员常常用这种模式将底层数据访问操作与高层业务逻辑分离开。一个典型的DAO实现通常包括:一个DAO工程类;一个DAO接口;一个实现了DAO接口的具体类,包含访问特殊数据源中数据的逻辑;数据传输对象。
(3)数据传输对象(Data Transfer Object)。DTO是经典EJB设计模式之一,它本身是一组对象或者数据的容器,需要跨越不同的进程或者网络的边界来传输数据。对象本身应该不包含具体的业务逻辑,并且通常这些对象内部职能进行一些诸如内部一致性检查和基本验证之类的方法,而且这些方法最好不要再调用其他的对象行为。在具体实现DTO时,可以使用编程语言内置的集合对象,也可以通过创建自定义类来实现DTO对象。
(4)离线数据模型(Off-line Data Model)。ODM以数据为中心,数据从数据源获取之后,将按照某种预定义的结构存放在系统中,成为应用的中心。离线方式可以使得对数据的各种操作独立于各种与后台数据源之间的连接或者事务;通过与XML集成数据可以方便地与XML格式的文档之间相互转换;独立于数据源,ODM定义了数据的存储结构和规则。
(5)对象关系映射(Object Relational Mapping)。ORM是随着面向对象软件开发方法发展而产生的,面向对象开发方法是主流的开发方法,关系型数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。ORM一般以中间件的形式存在,能够帮助将应用程序中的数据转换成关系型数据库中的记录;或者将关系数据库中的记录转换成应用程序中便于操作的对象。
三、数据持久层架构设计的好坏决定着应用程序性能的优劣,无论在C/S,还是在B/S结构中,持久层在处理数据的同时,对服务器锁的类型和持续时间、输入输出活动量以及处理器负荷等产生主要影响,并由此影响应用程序的总体性能。在持久层设计阶段需要考虑的问题包括:网络流量问题;返回结果集的问题;查询或锁定超时的问题;应用程序开发工具的问题;使用游标的问题;应用层设计的问题等。


第4题:

持久层的主要功能是为( )提供透明的数据访问、持久化、加载等能力。

A. A.视图
B. 业务逻辑
C. 控制层
D. 表现层

答案:B
解析:

第5题:

随着对象持久化技术的发展,产生了众多持久化框架,其中,( )基于EJB技术。(请作答此空)是 ORM 的解决方案。

A.SQL
B.CMP
C.JDO
D.iBatis

答案:D
解析:
iBatis:现名myBatis,是一个常见ORM框架。CMP: BMP、CMP是EJB的两种实体bean。JDO:JDO(Java Data Object )是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API。SQL:结构化查询语言。

第6题:

从功能上讲,数据库应用系统设计包括四个层次。下列层次中包含索引设计的是( )。

A.表示层

B.业务逻辑层

C.数据访问层

D.数据持久层


正确答案:D
数据库应用系统设计的四个层次分别为:①表示层;②业务逻辑层;③数据访问层;④数据持久层。在这四个层次中,数据持久层的设计工作属于数据组织与存储等方面的物理设计内容,而索引设计属于物理设计阶段。因此,索引设计是在数据持久层上的设计。

第7题:

阅读以下关于Web应用系统架构设计的叙述,在答题纸上回答问题1至问题3. 【说明】 某信息技术公司计划开发一套在线投票系统,用于为市场调研、信息调查和销售反馈等业务提供服务。该系统计划通过大量宣传和奖品鼓励的方式快速积累用户,当用户规模扩大到一定程度时,开始联系相关企业提供信息服务,并按照信息服务种类和用户投票数量收取费用。 为了降低开发成本和提高开发效率,项目组经过讨论后决定采用轻量级Java EE开发框架设计系统应用架构。在应用架构设计中,除了满足系统主要功能需求,还需要考虑的因素包括: (1)项目开发采用MySQL数据库存储数据,一但将来可能移植到其它数据库平台; (2)系统开发过程中尽可能降低或者消除SQL语句开发的工作量; (3)投票系统中数据之间的关系复杂,需要支持数据对象的聚合和继承等关系。 项目组基于MVC模式设计出了投票系统的架构,包括表示层、业务逻辑层、数据持久层和数据层。在具体讨论数据持久层采用哪种技术方案时,老王建议采用成熟的Hibernate框架,小李则认为iBatis更加灵活,更适合作为投票系统数据持久层开发技术。

【问题1)(5分) 请用300以内文字说明什么是数据持久层,使用数据持久层能够为项目开发带来哪些好处? 【问题2】(12分) 针对在线投票系统的实际应用需求和要求,项目组应选用哪种技术实现数据持久层?请用200字以内文字说明其采用该技术的原因。 【问题3】(8分) 数据持久层是Web应用系统框架中重要的组成部分,主流的数据持久层技术分别基于不同的技术方案,请在表5-1中(1)-(4)处分别根据(a)~(d)所列技术的方案类别填入其序号。 表5-1 数据持久层技术分类(a) BMP, CMP (b)iBatis/MyBatis (c)SprmgJdbcTemplate (d)TopLink,JDO,Hibernate


正确答案:【问题1】
数据持久层是一组软件服务,将应用程序与该程序所使用的数据源分离,为整个项目提供一个统一、安全、并发的数据持久机制。
好处:
1、程序代码重用性强,即使更换数据库,只需要更改配置文件,不必重写程序代码。
2、业务逻辑代码可读性强,在代码中不会有大量的SQL语言,提高程序的可读性。
3、持久化技术可以自动优化,以减少对数据库的访问量,提高程序运行效率。
4、简化开发工作,让开发人员更关注于业务逻辑的开发。
5、通过对象/关系映射向业务逻辑提供面向对象的数据访问。
【问题2】
1、项目组应选Hibernate框架
2、选择该技术的原因是:
(1)从移植的角度来看使用Hibernate更容易移植到其它数据库平台。
Hibernate与具体数据库的关联只需在XML文件中配置即可,所有的HQL语句与具体使用的数据库无关,移植性很好。MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。
(2)使用Hibernate能降低或者消除SQL语句开发工作量, Hibernate 提供了方法完成持久层操作,程序员不需要对SQL 的熟练掌握,便可完成任务。
(3)Hibernate提供了对象状态管理的功能,使开发者不再需要理会底层数据库系统的细节,而MyBatis在这一块没有文档说明,用户需要对对象自己进行详细的管理。
【问题3】
(1) (c)                
(2) (b)                
(3) (d)                
(4) (a)

第8题:

—般的web应用逻辑上分为哪三层?()

A、接入层

B、业务逻辑层

C、数据访问层

D、持久化层


答案:ABC

第9题:

阅读以下关于Web系统架构的设计的叙述,回答下列问题。
某信息技术公司计划开发一套在线投票系统,用于为市场调研、信息调查和销售反馈等业务提供服务。该系统计划通过大量宣传和奖品鼓励的方式快速积累用户,当用户规模扩大到一定程度时,开始联系相关企业提供信息服务,并按照信息服务种类和用户投票数量收取费用。

为了降低开发成本和提高开发效率,项目组经过讨论后决定采用轻量级Java EE开发框架设计系统应用架构。在应用架构设计中,除了满足系统主要功能需求,还需要考虑的因素包括:1.项目开发采用MySQL,数据库存储数据,但将来可能移植到其他数据库平台;2.系统开发过程中尽可能降低或者消除SQL语句开发的工作量;3.投票系统中数据之间的关系复杂,需要支持数据对象的聚合和继承等关系。
项目组基于MVC模式设计出了投票系统的架构,包括表示层、业务逻辑层、数据持久层和数据层。在具体讨论数据持久层采用哪种技术方案时,老王建议采用成熟的Hibernate框架,小李则认为iBatis更加灵活,更适合作为投票系统数据持久层开发技术。
【问题1】请用300以内文字说明什么是数据持久层,使用数据持久层能够为项目开发带来哪些好处?
【问题2】针对在线投票系统的实际应用需求和要求,项目组应选用哪种技术实现数据持久层?请用200字以内文字说明其采用该技术的原因


答案:
解析:
数据持久层是根据分层思想,通过建立逻辑数据操作接口,采取一定的对象/关系映射策略,隐藏数据库访问代码细节,向业务开发人员提供透明的对象持久化操作机制。

能够为项目开发带来的好处:(1)分离业务逻辑层和数据层,降低两者之间的耦合;(2)通过对象/关系映射向业务逻辑提供面向对象的数据访问;(3)简化数据层访问,隐藏数据库链接、数据读写命令和事务管理细节。
项目组应该采用Hibernate框架。
原因:(1)Hibernate支持多种不同类型数据库,满足项目组数据库移植需求;
(2)Hibernate相对于iBatis减少了SQL语句开发的工作量;(3)iBatis生成的PO是扁平化的,无法像Hibernate一样支持对象的继承和聚合等立体化关系。

答案:(1)(c) (2) (b) (3) (d) (4) (a)

第10题:

一般的web应用逻辑上分为哪三层?()

  • A、接入层
  • B、业务逻辑层
  • C、数据访问层
  • D、持久化层

正确答案:A,B,C

更多相关问题