📄 transactionexample.java
字号:
package com.db4o.f1.chapter5;
import java.io.*;
import com.db4o.*;
import com.db4o.f1.*;
public class TransactionExample extends Util {
public static void main(String[] args) {
new File(Util.YAPFILENAME).delete();
ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
try {
storeCarCommit(db);
db.close();
db=Db4o.openFile(Util.YAPFILENAME);
listAllCars(db);
storeCarRollback(db);
db.close();
db=Db4o.openFile(Util.YAPFILENAME);
listAllCars(db);
carSnapshotRollback(db);
carSnapshotRollbackRefresh(db);
}
finally {
db.close();
}
}
public static void storeCarCommit(ObjectContainer db) {
Pilot pilot=new Pilot("Rubens Barrichello",99);
Car car=new Car("BMW");
car.setPilot(pilot);
db.set(car);
db.commit();
}
public static void listAllCars(ObjectContainer db) {
ObjectSet result=db.get(Car.class);
listResult(result);
}
public static void storeCarRollback(ObjectContainer db) {
Pilot pilot=new Pilot("Michael Schumacher",100);
Car car=new Car("Ferrari");
car.setPilot(pilot);
db.set(car);
db.rollback();
}
public static void carSnapshotRollback(ObjectContainer db) {
ObjectSet result=db.get(new Car("BMW"));
Car car=(Car)result.next();
car.snapshot();
db.set(car);
db.rollback();
System.out.println(car);
}
public static void carSnapshotRollbackRefresh(ObjectContainer db) {
ObjectSet result=db.get(new Car("BMW"));
Car car=(Car)result.next();
car.snapshot();
db.set(car);
db.rollback();
db.ext().refresh(car,Integer.MAX_VALUE);
System.out.println(car);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -