JAVA数据对象应用程序接口Castor使用参考

exolab旗下的castor是目前流行的、开放源码的JDO实现包。它主要用来实现O/R Mapping。运用该软件包可以大大减轻程序员在处理对象-关系数据库 的负担。本文介绍了Castor的基本用法, 并用有大量代码实例进行解释。

内容提要:

· 打开JDO数据库 Client应用

· J2EE应用

· 使用JDO数据库对象

· 区别瞬时JDO对象和持久JDO对象

· OQLQuery

· 创建与更新和删除

· 使用JDO和XML

打开JDO数据库

Castor JDO支持两种类型的环境,Client应用和J2EE服务器。Client应用被用来负责配置数据库连接和明确地管理事务。J2EE应用使用JNDI来获得预先设好的数据库连接并利用UserTransaction或容器管理事务(CMT)来处理事务。如果你曾经在这两种环境中使用过JDBC,那么应该比较熟悉这两种模型和他们之间的区别。

Client应用

Client应用负责定义JDO数据库配置,和明确地管理事务处理。数据库通过一个单独的XML文件被配置 并连接到一个Mapping文件。在例子代码中我将数据库文件命名为database.xml,但是你可以使用任何别的名称。更多信息参见Castor JDO数据库配置。

org.exolab.castor.jdo.JDO定义数据库名称和属性并且被用来打开数据库连接。在上

可以通过设置setConfiguration文件的URL来要求JDO层装载哪个数据库配置。注意:Castor JDO在建立多个用同样的配置的JDO对象的情况下,将会仅仅只执行一次装载数据库配置。

org.exolab.castor.jdo.Database对象代表数据库的一个打开的连接。

线程 JDO对象定义不是线程安全的,因此不应该在并发多线程中使用JDO对象。还有,建立多个JDO对象仅仅 需要少量额外工作,而JDBC连接在每个事务处理中仅仅打开一次。这样处理的模式能够大大提高性能。

下列的代码片断展示了在Client应用中很常用的组合:“打开数据库,执行SQL,关闭数据库。”

JDO jdo;
Database db;
// 定义JDO对象
jdo = new JDO();
jdo.setDatabaseName( "mydb" );
jdo.setConfiguration( "database.xml" );
jdo.setClassLoader( getClass().getClassLoader() );
// 打开一个新的数据库连接
db = jdo.getDatabase();
// 开始处理事务
db.begin();
// 以下是一些业务逻辑
. . .
// 提交事务处理,并且关闭数据库
db.commit();
db.close();

时间: 2024-12-21 22:18:17

JAVA数据对象应用程序接口Castor使用参考的相关文章

Java数据对象(JDO)的应用

对象|数据 在本篇文章中,我们将详细地讨论Sun公司的Java数据对象(JDO)标准.JDO允许我们使用Java对象,支持事务和多用户.与ODBC不同的是,它使我们无需考虑SQL和与数据库有关的其他东西.它与串行化也有所区别,因为它支持多个用户和事务.JDO允许Java开发人员将他们的数据模型用作数据模型,无需在"数据端"."对象端"之间的转移方面花费大量的时间. 包括CocoBase.WebGain TOPLink和Castor JDO在内的多种产品都可以实现了J

Java数据对象技术JDO简介

作为异军突起的新型语言,Java定义了一个标准的运行环境,用户定义的类在其中得到执行.这些用户自定义类的实例代表了真实环境中的数据,包括储存在数据库.文件或某些大型事务处理系统中的数据,而小型系统通常也需要一种在本地负责控制数据存储的机制. 由于数据访问技术在不同的数据源类型中是不一样的,因此对数据进行访问成了给程序开发人员的一种挑战,程序员需要对每一种类型的数据源使用特定的编程接口(API),即必须至少知道两种语言来基于这些数据源开发业务应用:Java语言和由数据源所决定的数据访问语言.这种数

Java数据对象(JDO)的前世今生

对象|数据 1 Java与数据库应用,JDBC Java发明以来,在短短的几年之间,迅速占领了从桌面应用(J2SE)到服务器(J2EE),再到小型设备嵌入式系统(J2ME)的应用开发市场,其语言吸取了SmallTalk的一切皆对象的理念,摆脱了C++的历史累赘,简洁.自由的风格赢得了很多开发者的喜爱.从JDK1.1开始,Java成为实用的语言,而不是被人观望的新品秀:再经过JDK1.2的大量增强(尤其是Collection Framework),JDK1.3的虚拟机效率提升(HotSpot),J

Java数据对象JDO 2.0查询语言的特点_JSP编程

    查询语言的改进是JDO2.0规范中的重要环节,本文从较高的层面阐述JDO2.0所提供的一些新功能.由于JDO2.0规范还未进入公开草案状态,目前还没有任何内容敲定下来,一切都还可能面临变化.不过,JDO2.0将会很快进入最后阶段,而这里提到的查询特性是JDO2.0专家组(译者注:David Jordan就是专家组重要成员)花费时间最多,并且相对来说最为稳定.因此,我有足够理由相信,最终规范与这里的描述将会基本一致. 如果各位读者觉得本文遗漏了某些重要的特性,建议立即到JDO论坛(http

哪位高手帮忙详细讲一下java中对象内存的处理机制(可以参考下面程序),非常感谢!!

问题描述 publicclassHideTest1{publicstaticvoidmain(String[]args){A1a1=newA1();a1.setx(4);//A1中的成员变量x=4a1.printa();B1b1=newB1();b1.printb();b1.printa();b1.setx(6);//将继承来的x值设置为6b1.printb();b1.printa();a1.printa();}}classA1{intx=2;publicvoidsetx(inti){x=i;}

Java数据对象JDO 2.0查询语言的特点

查询语言的改进是JDO2.0规范中的重要环节,本文从较高的层面阐述JDO2.0所提供的一些新功能.由于JDO2.0规范还未进入公开草案状态,目前还没有任何内容敲定下来,一切都还可能面临变化.不过,JDO2.0将会很快进入最后阶段,而这里提到的查询特性是JDO2.0专家组(译者注:David Jordan就是专家组重要成员)花费时间最多,并且相对来说最为稳定.因此,我有足够理由相信,最终规范与这里的描述将会基本一致. 如果各位读者觉得本文遗漏了某些重要的特性,建议立即到JDO论坛(http://w

服务数据对象简介

简单地说,SDO是一种数据应用程序开发框架,它包括一个体系结构和相应的 API.SDO 能够实现以下操作: 简化 J2EE 数据编程模型. 抽象面向服务体系结构(SOA)中的数据. 统一数据应用程序的开发. 支持和集成 XML. 结合 J2EE 模式和最佳实践. 在这篇介绍 SDO 框架的文章中,我们将尝试着解释 SDO 背后的动机,以及 SDO 与其他规范的区别,然后描述 SDO 的组成,最后,通过一个示例 SDO 应用 程序说明 SDO 的用法. 为什么要使用 SDO? 对于服务数据对象(S

浅析Java中对象的创建与对象的数据类型转换_java

Java:对象创建和初始化过程 1.Java中的数据类型    Java中有3个数据类型:基本数据类型(在Java中,boolean.byte.short.int.long.char.float.double这八种是基本数据类型).引用类型和null类型.其中,引用类型包括类类型(含数组).接口类型.     下列语句声明了一些变量: int k ; A a; //a是A数据类型的对象变量名. B b1,b2,-,b10000;// 假定B是抽象类或接口. String s;      注意:从

对Android应用程序中的用户、数据对象和文件执行云存储和查询

Parse 移动 SDK 为 iOS.Android 和 Windows® 应用程序提供了基于云的 API 和服务.Parse SDK 还提供了 JavaScript 和 REST API.使用 Parse API,您可以极快地以最少工作量让您的移动应用程序支持云处理.集成了 Parse API 的移动应用程序可以轻松地在 Parse 云上存储数据对象和文件,发送并侦听推送通知,管理用户,处理地理位置数据,并使用 Twitter 和 Facebook 等社交媒体平台.对于需要扩展的移动应用程序,