JAVA—咖啡馆

——欢迎访问rogerfan的博客,常来《JAVA——咖啡馆》坐坐,喝杯浓香的咖啡,彼此探讨一下JAVA技术,交流工作经验,分享JAVA带来的快乐!本网站部分转载文章,如果有版权问题请与我联系。

BlogJava 首页 新随笔 联系 聚合 管理
  447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

#

     摘要:   作者注:JDO和CMP方式的EJB目前正在同时向前发展,但采取的是不同的路线。JDO的核心思想是在企业应用软件架构的不同层面中存储传统的Java对象(Plain Old Java Objects,下称POJOs),而CMP方案则基于容器环境,并针对特殊的需求。

  两者之间的异同在规范出台之初便成为众所争论的话题。你可以到JDOCentral.com上看到这类的争论,而在6月中旬即将在旧金山开幕的2003年JavaOne大会上,也会有一些演示和讲解来比较这两种不同的技术。

  在这次JavaOne大会上,3368号技术对话将讨论JDO与Struts(一个著名的Web应用架构设计的开源软件)集成的可行性和实践经验;3236号专题研究JDO与EJB容器的结合;1289号专题将对比使用JDO、JDBC和EJB时,设计模式在开发中的应用。

  在我们的《Java Data Objects》的第17章有一小段话描述使用JDO和CMP的平衡点。--Craig Russell   阅读全文
posted @ 2008-05-27 10:22 rogerfan 阅读(311) | 评论 (0)编辑 收藏

     摘要: JDO的优点:
  
  ● JDO的生命周期状态机(lifecycle state machine)是正确的用法。任何其它的O/R映射工具都应该使用JDO的生命周期或者它的子集(例如:如果不支持事务)。记住,JDO生命周期是为JDO实现服务的。大部分用户不需要了解其中很复杂的内幕。网页Amber生命周期中有些图示。
  
  ● PersistentManager API对如何管理JDO对象的状态有一定的优势和价值。
  阅读全文
posted @ 2008-05-27 10:20 rogerfan 阅读(343) | 评论 (0)编辑 收藏

     摘要: 网上关于JDO的文章已经不少了,关于JDO的优点也讲了很多,我看了一些文章后,自己也研究了一段时间,忽然很想写一个系列文章全面的介绍一下JDO,今天先写下第一篇算是个开头。呵呵,有些内容是我对JDO规范的理解,如果有不对的地方请大家指正。
  
  Java开发人员已经有好几种存取数据库的方法:序列化,JDBC,面向对象映射工具,对象数据库,以及实体EJB。那为什么还要介绍其他的存储架构呢?答案是,上面每一种实现存储的方案都存在一定的限制。JDO正在尝试解决这些限制。  阅读全文
posted @ 2008-05-27 10:19 rogerfan 阅读(338) | 评论 (0)编辑 收藏

     摘要: JDO是Java对象持久化的新的规范。JDO经SunJava Community Process认定。
  
  
  一、历史
  JDO是对象持久化工作的综合成果,试图提供一个对象持久化的完全版本。JDO同时继承于ODMG(对象数据管理小组,标准化对象数据库的一个独立委员会)和对象关系映射工具提供商。
  JSR #000012 approved in July 1999
  1999-8组建的专家小组:包括Sun、Apple、BEA、IBM、Oracle、SAP、WebGain等
  2000-5 完成公开评论草案
  2000-6 在JavaOne上引入
  2001-3 最终草案0.93
  2001-5 最终草案0.96公布
  2001-6 在JavaOne上启动
  2001-11 最终草案0.98  阅读全文
posted @ 2008-05-27 10:18 rogerfan 阅读(308) | 评论 (0)编辑 收藏

     摘要: 在反射的帮助下,我们可以有效的简化这个繁琐的过程,看代码之前我们先补充一点有关类字段的反射API:
●Field[] getDeclaredFields():返回已加载类声明的所有成员变量的Field对象数组,不包括从父类继承的成员变量.
●Field getDeclaredField(String name):返回已加载类声明的所有成员变量的Field对象,不包括从父类继承的成员变量,参数name指定成员变量的名称.
●Field[] getFields():返回已加载类声明的所有public型的成员变量的Field对象数组,包括从父类继承的成员变量
●Field getField(String name):返回已加载类声明的所有成员变量的Field对象,包括从父类继承的成员变量,参数name指定成员变量的名称.  阅读全文
posted @ 2008-05-23 12:52 rogerfan 阅读(460) | 评论 (3)编辑 收藏

     摘要: 文章摘要

Torque项目是Apache的公开源代码项目,主要用于生成访问数据库的资源和java代码、提供使用这些代码访问数据库的运行时(runtime)环境。通过使用Torque,你可以使用面向对象方式访问数据库,不再需要编写任何SQL语句。本文中给大家详细的介绍了如何使用Torque框架访问数据库的整个过程,希望能够指导大家熟练使用Torque。
  阅读全文
posted @ 2008-05-22 11:52 rogerfan 阅读(512) | 评论 (0)编辑 收藏

     摘要: Apache Torque 是一个使用关系数据库作为存储手段的Java应用程序持久化工具。Torque是一个开源项目,由Web应用程序框架
  Jakarta Apache Turbine 发展而来,但现在已完全独立于Turbine。通过JDBC,Torque支持大多数流行的开源商业数据库,包括Oracle、Microsoft SQL Server、IBM DB/2、MySQL以及PostgreSQL。  阅读全文
posted @ 2008-05-22 11:51 rogerfan 阅读(367) | 评论 (0)编辑 收藏

     摘要: Apache Torque是一个使用关系数据库作为存储手段的Java应用程序持久化工具,是 Apache 的公开源代码项目,Torque是一个开源项目,由Web应用程序框架Jakarta Apache Turbine发展而来,但现在已完全独立于Turbine。 Torque 主要包含两部分:一部分是 Generator,它可以使用xml文件,产生应用程序需要的所有数据库资源,包括 sql 和 java 文件;另外一部分是 Runtime,提供使用这些代码访问数据库的运行时环境。  阅读全文
posted @ 2008-05-22 11:33 rogerfan 阅读(1245) | 评论 (0)编辑 收藏

     摘要: Peers
Everything in Peers resolve around Peer classes. A Peer class has a one-to-one mapping to a Database table. You use each table's associated Peer class to do operations on that table. Peer classes are generated for you automatically.

Peer classes have static methods only, so you would never create objects of Peer classes. It is not necessary to have objects on this level because of the one-to-one mapping with a table. Peer methods are thread safe.

Peer classes are ge  阅读全文
posted @ 2008-05-22 11:31 rogerfan 阅读(344) | 评论 (0)编辑 收藏

     摘要: 一般在利用O/R Mapping框架进行开发的时候,有三个基本的单元即关系数据库中的表(Table),Java中的持久对象(PO),定义PO到Table映射的xml文件(Schema)。
首先,Torque包含一个generator用来根据由开发者配置好的Schema来自动生成PO和Table,这就意味着开发者只要定义好Schema,PO和Table就可以自动生成了。
在生成好的PO和Table以后,开发者就可以利用PO来进行对Table的访问了。为了达到这个目的Torque提供了一个运行时环境来保证代码的正确运行。在工程中引入了torque相关的.jar就可以拥有这个运行环境了。  阅读全文
posted @ 2008-05-22 11:29 rogerfan 阅读(1037) | 评论 (0)编辑 收藏

     摘要: 目前对于J2EE应用中的Persistence Layer的解决方案很多,其中,最近从Apache Turbine中剥离处理的Torque是一个优秀的ORM(Object Relational Mapping,对象角色建模) 解决方案。

  主流的Persistence Layer解决方案

  随着基于J2EE应用的日益增加,出现了很多Persistence Layer的解决方案。目前主要的解决方案有以下几种:

  ◆ 自己编写基于JDBC API的解决方案;

  ◆ 采用ObjectRational Mapping(ORM)工具或者是采用面向对象的数据库(ODBMS);

  ◆ J2EE/Entity Bean CMP (container-managed persistence);

  ◆ JDO。  阅读全文
posted @ 2008-05-22 11:20 rogerfan 阅读(486) | 评论 (1)编辑 收藏

     摘要: Groovy是一种语言,其语法类似于Java,但比Java更简单。它通常被视为脚本/灵活/动态的语言,但是我不喜欢这类形容词,因为我认为它们只会令人困惑。如果说Java是一位明智的中年男子,那么Groovy就是他十几岁的儿子。Groovy具有父亲的许多特点,但是更为狂野且更为有趣。他们也可以很好地合作。  阅读全文
posted @ 2008-05-22 11:09 rogerfan 阅读(656) | 评论 (0)编辑 收藏

     摘要: 1. 为了方面按列作外循环,想把ArrayList构造成一个二维数组,如下:

......

ArrayList result=GetResult();

int n=result.size();

String[][] myArray=new String[n][]; //定义二维数组

for (int i=0;i {
ArrayList tempArray= (ArrayList)result.get(i);
myArray[i]=(String[])tempArray.toArray();
}

......
  阅读全文
posted @ 2008-05-14 13:40 rogerfan 阅读(1998) | 评论 (0)编辑 收藏

     摘要: 1、Sysdate 当前日期和时间


SQL> Select sysdate from dual;

SYSDATE
----------
21-6月 -05
  阅读全文
posted @ 2008-03-26 10:23 rogerfan 阅读(748) | 评论 (0)编辑 收藏

     摘要: 1、一个jacob操作Word的例子,其他操作excel的sample里都有
  import java.io.File;
  import com.jacob.com.*;
  import com.jacob.activeX.*;
  public class WordTest {
  
   public static void main(String[] args) {
     WordBean word=new WordBean();
     word.openWord(true);
     word.createNewDocument();
     word.insertText("Hello word.");
   }
  }
  阅读全文
posted @ 2008-03-05 13:24 rogerfan 阅读(1593) | 评论 (0)编辑 收藏

仅列出标题
共30页: First 上一页 18 19 20 21 22 23 24 25 26 下一页 Last