简介
下面的例子示范了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.";
}
}
闽公网安备 35060202000074号