Java 数据对象(JDO)介绍(三)

来源:互联网 发布:www.3322软件下载 编辑:程序博客网 时间:2024/05/22 13:34

<SCRIPT type=text/javascript>google_ad_client ="pub-2141342037947367";google_ad_width = 120;google_ad_height =240;google_ad_format = "120x240_as";google_ad_channel="3662469727";google_color_border = "CCCCCC";google_color_bg ="FFFFFF";google_color_link = "000000";google_color_url ="666666";google_color_text = "333333";</SCRIPT><SCRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript></SCRIPT><IFRAME name=google_ads_frame marginWidth=0 marginHeight=0 src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-2141342037947367&amp;dt=1108516619156&amp;lmt=1108516619&amp;format=120x240_as&amp;output=html&amp;channel=3662469727&amp;url=http%3A%2F%2Fwww.javaresearch.org%2Farticle%2Fshowarticle.jsp%3Fcolumn%3D108%26thread%3D6783&amp;color_bg=FFFFFF&amp;color_text=333333&amp;color_link=000000&amp;color_url=666666&amp;color_border=CCCCCC&amp;ref=http%3A%2F%2Fwww.javaresearch.org%2Farticle%2Fcolumn.jsp%3Fcolumn%3D108%26start%3D30%26thRange%3D30&amp;u_h=768&amp;u_w=1024&amp;u_ah=739&amp;u_aw=1024&amp;u_cd=32&amp;u_tz=480&amp;u_java=true" frameBorder=0 width=120 scrolling=no height=240 allowTransparency><img height="1" width="1" border="0" src="http://pagead2.googlesyndication.com/pagead/imp.gif?client=ca-pub-2141342037947367&dt=1108516619156&lmt=1108516619&format=120x240_as&output=html&channel=3662469727&url=http%3A%2F%2Fwww.javaresearch.org%2Farticle%2Fshowarticle.jsp%3Fcolumn%3D108%26thread%3D6783&color_bg=FFFFFF&color_text=333333&color_link=000000&color_url=666666&color_border=CCCCCC&ref=http%3A%2F%2Fwww.javaresearch.org%2Farticle%2Fcolumn.jsp%3Fcolumn%3D108%26start%3D30%26thRange%3D30&u_h=768&u_w=1024&u_ah=739&u_aw=1024&u_cd=32&u_tz=480&u_java=true&event=noiframe" /></IFRAME>
试例
简介
下面的例子示范了JDO的基础应用。代码示范了如何向数据库添加数据和取回数据。所有的代码使用的都是SolarMetric's Kodo JDO实现。包括创建数据库的机制,使域对象类扩展PersistenceCapable接口的增强和厂商特定的PersistenceManagerFactory实现使用的都是Kodo JDO实现。其他的部分使用的是标准的JDO实现。 

域对象
The samples will work with a small set of classes, which represent a Fleet of Vehicle objects. The two specific types of Vehicles defined are Bicycle and MotorVehicle. MotorVehicle objects have an Engine attribute.
例子是用了一个很小的类,这个类描述了一个Vehicle(交通工具) 对象的Fleet(车队)。Vehicle 定义了两个特定的对象Bicycle 和MotorVehicle 。MotorVehicle对象有一个Engine 属性。
域对象源代码
    /**
     * Fleet.java
     */
    package com.ociweb.jdodemo;
    
    import java.util.Iterator;
    import java.util.List;
    import java.util.Vector;
    
    public class Fleet {
    
        private List vehicles = new Vector();
    
        public void addVehicle(Vehicle vehicle) {
            vehicles.add(vehicle);
        }
    
        public Iterator getVehicles() {
            return vehicles.iterator();
        }
    
        public String toString() {
            StringBuffer buffer = new StringBuffer("Fleet:/n");
            Iterator iter = getVehicles();
            while (iter.hasNext()) {
                buffer.append("/t" + iter.next() + "/n");
            }
            return buffer.toString();
        }
    }
        
    /**
     * Vehicle.java
     */
    package com.ociweb.jdodemo;
    
    public class Vehicle {
    
        private int numberOfWheels;
    
        public Vehicle(int numberOfWheels) {
            this.numberOfWheels = numberOfWheels;
        }
    
        public int getNumberOfWheels() {
            return numberOfWheels;
        }
    }
    
    /**
     * Bicycle.java
     */
    package com.ociweb.jdodemo;
    
    public class Bicycle extends Vehicle {
    
        private String model;
    
        public Bicycle(String model) {
            super(2);
            this.model = model;
        }
    
        public String toString() {
            return "Bike: Model " + model;
        }
    }
    
    /**
     * MotorVehicle.java
     */
    package com.ociweb.jdodemo;
    
    public class MotorVehicle extends Vehicle {
    
        private Engine engine;
    
        public MotorVehicle(int numberOfWheels, Engine engine) {
            super(numberOfWheels);
            this.engine = engine;
        }
    
        public String toString() {
            return "MotorVehicle With " + getNumberOfWheels()
                    + " Wheels.  " + engine;
        }
    }
    
    /**
     * Engine.java
     */
    package com.ociweb.jdodemo;
    
    public class Engine {
    
        private int numberOfCylinders;
    
        public Engine(int numberOfCylinders) {
            this.numberOfCylinders = numberOfCylinders;
        }
    
        public int getNumberOfCylinders() {
            return numberOfCylinders;
        }
    
        public String toString() {
            return numberOfCylinders + " Cylinder Engine.";
        }
    }    
原创粉丝点击