Java 數據對象(JDO)介紹(三)


<script language=javascript>showbanner(6,6);</script> <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&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" 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.";
        }
    }    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章