网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > J2EE/J2ME
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.J2ME程序优化方法二十条.
.结合JAVASCRIPT将HTML导入Excel形.
.如何向MIDP2.0窗体中加入自定义的.
.MoreJSP编程实践(下).
.J2ME-定时器(TimerTask)使用及初.
.为Web 应用程序创建测试用例.
.利用Filter检查Request参数.
.使用Servlet动态生成图片.
.WebWork IoC 特性使用.
.为Spring Bean设置别名.
.J2ME中的字符串管理和多语言支持.
.MIDP中处理文字的换行.
.创建简单Eclipse插件实现AxisWeb.
.J2EE入门教程之三.
.无线标记语言(WML)基础之程序结构.
.JSR 184:3D坐标系和定位总结.
.宠物店大战 (J2EE 与 .NET).
.用j2ee实现的一个简单的会话bean.
.JSP标准标签库(二).
.高可靠性移动应用程序-移动数据.

JDO架构介绍

发表日期:2007-12-23


                                     jdo架构简介

jdohelper :
Javax.jdo.JDOHelper类拥有一个静态的助手(helper)方法。这个方法可以获得一个持久对象的生命周期还可以用来创建一个与具体实现厂商无关的PersistenceManagerFactory的实例。
persistencemanagerfactory:javax.jdo.PersistenceManagerFactory类可以通过JDOHelper类的助手方法获得,这是一个标准的工厂类,他可以创建PersistenceManager类。
persistencemanager:
javax.jdo.PersistenceManager接口是应用程序经常要使用的一个主要的JDO接口。每一个PersistenceManager负责控制一组持久化对象而且他还可以创建新的持久化对象或删除现有的持久化对象。Transaction和PersistenceManager之间存在这一对一的关系,同时PersistenceManager又是Extent和Query的工厂类,也就是说这两个对象可以通过PersistenceManager创建。
persistencecapable:
用户定义的持久化类都必须扩展实现PersistenceCapable接口。大多数JDO实现的供应商都提供一种“增强器”(enhancer)的功能,它可以向你要实现的持久化类中增加PersistenceCapable接口的实现。也就是说,其实你根本不会自己去实现这个接口。
transaction:
每一个PersistemceManager和javax.jdo.Transaction都是一一对应的。Transactions用来处理事务,它使得持久化数据可以成批的一次性添加到数据表中,如果出现异常就将数据回滚。
extent:
java.jdo.Extent是映射数据库中具体表的类的一个逻辑视图。Extent可以拥有自己的子类,它通过PersistenceManager获得。
query:
java.jdo.Query接口用具体的厂商JDO来实现,它负责处理JDO查询语言(JDOQL),这些JDOQL最终被解释为实际的数据库SQL语言。同样这个接口也是通过PersistenceManager获得的。
下面的例子显示的JDO接口如何操作并执行一个查询并更新持久化对象。

例子:JDO接口的交互
//通过助手类获得PersistenceManagerFactory
    PersistenceManagerFactory factory=
        JDOHelper.getPersistenceManagerFactory(System.getProperties());
   //通过PersistenceManagerFactory获得PersistenceManager对象
   PersistenceManager pm=factory.getPersistenceManager();
    //创建并开始一个事务    Transaction tx=pm.currentTransaction();
    tx.begin();
   //查询employee表中每周工作时间大于40小时的研究人员
   Extent ex=pm.getExtent(Employee.class,false);
   //获得一个Query    Query query=pm.newQuery();
   //设置这个query作用的范围,即查询的是那个表或记录集
   query.setCandidates(ex);
    query.setFilter("division.name == \"Research\" "+ "&& avgHours > 40");
    Collection result=(Collection)query.execute();
    Employee emp;
    for(Iterator itr=result.iterator();itr.hasNext();){
      emp=(Employee)itr.next();
      emp.setSalary(emp.getSalary()*2);
    }    
//提交记录释放资源
    tx.commit();
    pm.close();
factory.close();

上面的代码片断包括了JDO几个主要的接口,在此你可以对JDO各个接口的使用方法有一个粗略的印象,以后实际的应用中JDO接口也都是这样使用的。

jdo的异常
JDO不会抛出通常的运行时异常,比如NullPointerExceptions、 IllegalArgumentException等它只抛出JDOException异常。JDOExcetion的结构如下图所示,这是一个继承的层次结构,从他们的字面含义就可以看出它们的用途,在这里就不详细说了,要想了解JDO异常的层次结构可以参考它们的JavaDoc。进入讨论组讨论。

(出处:)


上一篇:JDBC概述(六) 人气:763
下一篇:JDO2.0的查询语言新特性 人气:568
浏览全部J2EE/J2ME的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐