java面向对象调用数据库_基于Java的面向对象数据库方法调用机制实现

在数据库的开发过程中,经常会碰到这样的情况,数据结构复杂,并且要兼容以前的历史数据。为了能快速适应新的改动,就要频繁修改表的结构,处理不同结构间的转换。如果是客户用民务器模式,还要更换客户端代码。本文提出利用Java语言的特点和面向对象数据库00DB设计思想,通oDBC访问数据库,直接在数据库中存储复杂数据结构的类代码,包括变量和数据处理函数等功stw块,需要时直接从数据库中将类字节码取出,再由虚拟机解释运行。Java的踏平台性使预先编译好的类可以服务于多种平台,并且可以直接在数据源进行数据处理,只把结果传回,减少了网络通信量。另外,当需要在数据库中增加新功能或修改数据结构时,只需重新编译类代码即可,提高了数据库维护效率。1面向对象数据库(00DB)设计思想面向对象观点认为:任何一个系统是由若干个对象和这些对象间的相互作用构成。其中对象由数据和操作两部分组成。对象具有自主性、封装性和动态性。将面向对象作为方法学应用到软件工程的各个阶段,其实质就是寻找对象及各对象间的相互作用关系。在需求分析阶段,面向对象分析是对真实世界对象建模,其根本出发点是站在应用的角度对问题域进行刻画和描述,这样有利于对问题的理解。需求分析阶段的结果是:问题陈述十对象模型十动态模型十功能模型。设计阶段是对原对象模型进一步描述。此阶段可用面向对象方法实现数据库的设计。面向对象的概念使数据库设计与编程成为可重用,可作为建立复杂数据库和程序的基础,其封装和继承这些面向对象的概念隐含着强有力的数据类型设施面向对象的方法可自然地表示嵌套对象,很容易表达层次数据,还可方便地构造各种类型。A00DB中,最基本的概念是对象。在这里,对象可以是现实世界中任何有意义的实体,每个对象有一个唯一的对象标识(OID);具有相同结构和行为的对象组成类,类中的每个对象为类的一个实例。一个对象类可以定义成0(AI,,An,MI,一,MIn),其中Al(i,…,n)为对象的属性,定义在域Di上;啊ol,,m)为对象的方法,其退回值定义在城q上。因为对象是程序运村时在内存中动态建立的,因此超出程序运行范围后,对象就不复存在。但是,我们经常希望能存储对象,目前常用的提供对象持久性的方法是:把对象的结构写到某些永久的存储设备中,如磁盘,但因为00P数据结构不容易映射成传统的文件和关系数据库格式,所以效果不甚理想。本文校用Java语言直接将对象即类的中间代码写入数据库中,利用Java语言一些装载类的特殊功能,来改善对象的持久性。2方法调用机制在面向对象数据模型中,对象的行为是由方法来表示的。由于要支持方法,使得一个00DBMS的实现要比关系型数据库管理系统的实现复杂得多,这主要体现在体系结构的设计、数据库模式的管理、查询处理等方面。所有这些均与方法的调用机制有关。在面向对象数据库中,对象的一个方法实际上就是一段程序。传统的描述语言一般有两种:1)为00DBMS设计一个集数据库操作和程序设计为一体的界面语言00DBL,应用的开发和方法的描述都用这个语言。这种系统一般采用解释方法实现。对用C十等通用程序设计语言来描述。由于在面向对象数据库中,00DBMS由开发者研制,方法却是由用户定义的,二者属于不同执行空间,00DBMS的核。u无法直接调用用户定义的方法。如何实现有效的方法调用成为00DBMS的关键技术之一。解决的方法一般有静态链接法和动态链接法从实现的角度来看,最好能通过动态链接实现方法的调用。即先将用C十这类语言编写的方法编译成目标码,当某个方法被调用时,动态链接入00DBMS进程,使方法代码与00DBMS成为同一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值