OJB查询(二) (转)
OJB查询(二) (转)[@more@]联接: 在path expressions中(relationship.attribute)声明的联接在criteria中会被OJB自 动处理。Path expressions支持1:1,1:n,m:n多种关系。 下面的例子查找属于Liquors产品组的所有文章。文章和产品组的关系是在Article类中 的productGroup关系来建立的: <!-- Definitions for org.apache.ojb.ojb.broker.Article --> <class-descriptor class="org.apache.ojb.broker.Article" Proxy="dynamic" table="Artikel" > ...
在应用程序中将OJB作为一个存储层使用(五) (转)
在应用程序中将OJB作为一个存储层使用(五) (转)[@more@]定义对象/关系映射: 在看了实例程序的源代码和数据库(运行binuild browse -db将会启动InstantDB数据 库的浏览窗口)后,你可能会问:在程序中我们并没用看到任何关于数据存储的代码, OJB Broker是怎么样实现把Product类的信息存储到PRODUCT表中去的?OJB怎么样知道把 数据库中的NAME列映射到name属性上? 答案就是一切都是在OJB元数据库中进行的。库中包含了一些类来描述O/R映射(可以参 考org.apache.ojb.broker.metadata包)。库中含有一些普遍的Java对象,这些
在应用程序中将OJB作为一个存储层使用(六) (转)
在应用程序中将OJB作为一个存储层使用(六) (转)[@more@]Product映射: 现在我们要开始讲解从Product类到数据库表PRODUCT的映射。通常这种映射都不是通过 编程实现,而是通过定义一个XML文件。DescriptorRepository类提供了一些方法来读取 xml文件并进行初始化。结果就能在以后的编程中被使用(也可以通过纯编程来实现)。 我们已经写好了我们的映射关系,文件放置在src/test/ojb/repository.xml,中,xml 文件如下所示: <?xml version="1.0" encoding="UTF-8"?> <!-- This is a sample metadata repos
OJB查询(一) (转)
OJB查询(一) (转)[@more@]OJB查询 该文档介绍了不同查询机制的使用。文档中的代码都通过Junit测试过。 内容: 1. Query by criteria 2. ODMG object Query Language(OQL) 3. JDO queries 通过criteria查询: 在本节中,你将学到如何使用criteria进行查询。相应的类放在org.apache.ojb.broker包 中。使用criteria查询既可以得到整个对象(如person),也可以使用report queries得 到一行数据 一个查询主要包含下面两部分: 1. 得到相应类的对象 2. 一系列带有ORDER BY和GROUP BY的条件列表 OJB提供了一个
在应用程序中将OJB作为一个存储层使用(四) (转)
在应用程序中将OJB作为一个存储层使用(四) (转)[@more@]删除对象: UCDeleteProduct类允许用于从products中选择一条记录并将它从存储库中删除。用户输 入产品的productId,broker试着查找指定的product。我们不需要拥有真个产品目录, 所以查找是很有必要的。Broker接着将找到的product删除,代码如下: public void apply() { String in = readLineWithMessage("Delete Product with id:"); int id = Integer.parseInt(in); // We do not have a reference to the selected Product. //
在应用程序中将OJB作为一个存储层使用(二) (转)
在应用程序中将OJB作为一个存储层使用(二) (转)[@more@]用OJB PersistenceBroker api实现各种功能: 上面的一段代码很简单,因为没有涉及到存储操作,仅仅是程序的退出。下面让我们来 看一个更具体的例子:UCListAllProducts类。该功能必须含有一个Collection类来包含 数据库中的所有产品,然后将所有产品一一枚举并显示出来。为了得到数据库中的所有 产品,我们需要使用OJB API中的一个方法。 OJB提供三个主要的API: PersistenceBroker ODMG实现 JDO实现 在导学1中,我们使用PersistenceBroker API来实现所有的三个
2003年中级程序员考试日记--下午题(二) (转)
2003年中级程序员考试日记--下午题(二) (转)[@more@] 2003年程序员考试日记————下午题(二) (9月13日) 2.常量、变量 ①变量定义: 变量分为两大类,外部变量和内部变量。外部变量在函数的外面定义,本文件的任何函数甚至其他文件的任何函数都可以访问,这不太复合结构化程序设计的要求,而且安全性可靠性将大打折扣,所以建议少用外部变量。但由于它使用方便,用的还是比较广泛的。 内部变量在函数中和复合语句中定义和使用,格式通常是: { <变量定义> <使用变量的语句
在应用程序中将OJB作为一个存储层使用(一) (转)
在应用程序中将OJB作为一个存储层使用(一) (转)[@more@]介绍: 本文通过一个简单的例子说明了怎样使用对象关系映射桥(OJB)。例子程序含有义产品 目录数据库和一些用户功能。程序的源代码随OJB源代码一起发布,包含在org.apache. ojb.tutorial1包中。 文档演示了了通过对象关系桥api(PersistenceBroker)去实现五个用户功能的小程序 的具体结构。五个功能中包括对对象的修改,删除,存取等操作。文档也演示了怎样把 一个Product存取对象映射到关系数据库中的一个表。 示例程序: 该例子是一个控制台下的程序,通过不同
在应用程序中将OJB作为一个存储层使用(三) (转)
在应用程序中将OJB作为一个存储层使用(三) (转)[@more@]如果在product表中有10000条记录,那么从存储库中获得所有得记录是一个很费时的操 作,每个记录都必须新建一个对象,整个表都要读入内存。在示例程序中,没有考虑性 能问题,但是在一个实际的应用OJB的程序中,我们需要一个更有效的方法来获得所有记 录,如果你的程序不需要将整个表调入内存,那么建议你使用getIteratorByQuery()方 法来返回Iterator而不返回Collection。 如果你需要遍历较大的结果集,这种方法很实用。所有实例并不是一次性被创建,只是 在你"需要"的
用OTA下载本机j2me程序至手机 (转)
用OTA下载本机j2me程序至手机 (转)[@more@]windows200 + tomcat4.1.24 + j2wtk2.0 1。安装一web服务器(偶使用的是tomcat)修改相应配置文件使其支持JAD和JAR两种MIME 类型 JAD: text/vnd.sun.j2me.app-descriptor JAR: application/Java-archive 安装好TOMCAT(不要告诉我你不会?),tomcat新版本默认支持,老版本修改 %tocmat%/conf/web.XML,找到mime的地方,添上 <mime-mapping> <extension>jad</extension> <mime-type>text/vnd.sun.j2me.app-descriptor</m
OJB简介--翻至ojb docs (转)
OJB简介--翻至ojb docs (转)[@more@]简介: 对象关系桥(OJB)是一种对象关系映射工具,它能够完成从Java对象到关系数据库的透 明存储。 灵活性: OJB给用户提供了多种存储api,让用户有很多选择: 1. 提供完全的ODMG3.0 API(详情可参考导学2) 2. 完全的JDO API。我们现在提供了JDO RI的一个插件,JDO RI与插件结合提供了一个 完整的基于JDO1。0的O/R解决方案 3. 提供一个JDO和ODMG的公共对象事务管理层(OTM) 4. 一个作为OJB存取核心的底层API PersistenceBroker。OTM,ODMG和JDO都是在该AP I的基础上实现的
Win Form 的 Splitter 使用心得 (转)
Win Form 的 Splitter 使用心得 (转)[@more@] Win FoRM 的 Splitter 使用心得 今天作个分析html代码,然后再批量下载的程序,其中用到 Splitter (分割条),编译程序后,发现分割条不起作用,拖动分割条的时候,相邻的两个 Panel 没有变换大小。为这个几乎花了一天时间,也没找到原因。包括到其他机子上测试。 后来,再次作一个完全独立的测试项目,发现 Splitter 的使用有个算是 bug 的问题,如果你首先放两个 Panel ,然后再放一个 Splitter 。(注意这时候的次序)就会产生我上面出现的问题。这时候代码中的 I
小李飞刀 之 程序员版 (转)
小李飞刀 之 程序员版 (转)[@more@]小李飞刀 之 程序员版 -李先生您好,很高兴您在百忙之中能接受我的专访!我首先想问一个读者们都很关注的一个问题,那就是我们为什么看不到您出手,敌人却一下子就中刀而死了? -呵,不用客气,浪得虚名罢了。关于这个问题呢,其实很简单,那是因为我每次用的都是UDP协议。 -原来是这样。那为什么被您杀死的人都会帮你打个广告:“小李飞刀,例无……虚发!”? -你说的是老版本吧。现在我攻击对方,对方的屏幕上最后会显示:“非法操作!请联系上官金虹解决此问题。现在是否发送邮件给上官金虹?”
通过XSL转换XML文件 (转)
通过XSL转换XML文件 (转)[@more@] 通过xsl转换XML文件 最近,我喜欢上了XML编程,但又苦于它的美观程度又不够,找了许多书才搞定。 用XML好是蛮好,但它还是不太适合做显示数据的语言。(比起HTML要查多了!) XML文件作出来的东西看起来并不是那么美观,但还是可以找到补救的方法。 XML可以只注重数据与文件格式的描述,而显示方面的工作就交给排版样式表。 排版样式表分:CSS和XSL。其中XSL非常适合XML。(在这里不讨论CSS!) 现在开始转换吧! XSL包含两大部分:X
拙作《Delphi精要》目录,即将由电子工业出版社出版 (转)
拙作《Delphi精要》目录,即将由电子工业出版社出版 (转)[@more@] 目 录 第1章 关于Delphi与本书................................................................................................................. (1)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 1.1 Delphi是什么................................................................................................................................ (1) 1.1.1 Delphi的历史..............
CMM概观 (转)
CMM概观 (转)[@more@]CMM概观 一、 什么是CMM?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> CMM(Capability Maturity Model),英文直译的意思是“能力成熟度模型”。由卡内基.梅隆大学的软件工程协会(Software Engineering Institute, 简称SEI) 提出并完善,目的是通过一个合理的体系模型来对软件组织开发能力进行合理有效的评估,帮助软件组织在模型实施的过程中提高软件过程管理能力,降低软件系统开发风险,在预定的项目周期和预算内开发出高质量的软件产品。 可根据CMM的三个组成
Learn C++ step by step(2) (转)
Learn C++ step by step(2) (转)[@more@]// using Dev C++ under winxp #include <iostream>#include <cstdlib> using namespace std; //standard c++ style about namespace //define ADT Time class Time{public: Time(); //default constructor void setTime(int,int,int);//set time for hours,minutes,seconds void printMilitary(void);//print time using army's style void printStandard(void);//print time using standart style private: in
Learn c++ step by step (转)
Learn c++ step by step (转)[@more@]通过这个例子边可以看出区别,而且注意一定要用标准C++的样式 打好基础 #include <iostream>#include <cstdlib> using namespace std; int add1CallByValue(int t); //define function prototype void add1ByPointer(int* t); void add1ByReferrence(int& t); int main(void){ int count=12; std::cout<<"add1CallByValue"; add1CallByValue(count); //call by value std::cout<<count<<endl; std::cout<<
关于在VCL写作过程中提示找不Proxies单元的解决方法 (转)
关于在VCL写作过程中提示找不Proxies单元的解决方法 (转)[@more@]关于在VCL写作过程中提示找不Proxies单元的解决方法XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> ――――VCL写作生活 By AnQiu001 from VDCT (VCL Developer Communication Team) 当在VCL写作过程需要写作ComponentEditor时,会使用DesignEditor单元,该单元包含有一个Proxies单元,见下图:2003-9-201357290.jpg" align=baseline border=0> ASPectratio="t" v:ext="edit"> 但是,在D6下编译时编
項目管理學習筆記之四必須有一個領導 (转)
項目管理學習筆記之四必須有一個領導 (转)[@more@] 項目管理學習筆記之四必須有一個領導 作者: CCBZZP "必須要有一個領導"這是我們開始一個新項目的第一件事情, 項目必須要有一個領導,并且只能是一個而不是兩個或一個領導委員會, 這是項目領導的唯一性。 作為項目領導, 有時候會發生的一件事情是你的項目團隊中的其他的成員對你的領導地位的挑戰, 這就意味著有人想取代你而成為項目的實際領導,你必須勇敢地面對這個挑戰並取得胜利,否則你的項目中就有兩個領導。 如果你成為項目領