五、BDB JEにおけるシーケンス化対象の記憶
1.まずシーケンス可能なオブジェクトを作成する必要があります
2.databaseを開いたり作成したりするには、2つ、1つはデータを格納し、もう1つはクラス情報を格納する必要があります.
3.catalogクラスをインスタンス化し、このときcomを使用できます.sleepycat.bind.serial.StoredClassCatalog、ストレージ
あなたのクラス情報.
4.comを通過する.sleepycat.bind.serial.SerialBindingは、データとクラスをバインドします.
5.データのバインドと格納
シーケンス化オブジェクトクラス:
public class BookSer implements Serializable {
private int bookId; private String bookName; private String bookAuthor; private float bookPrice; private int bookPage; private String bookDesc;//get()とset()メソッド
.......
}
シーケンス化されたオブジェクトの保存:
2.databaseを開いたり作成したりするには、2つ、1つはデータを格納し、もう1つはクラス情報を格納する必要があります.
3.catalogクラスをインスタンス化し、このときcomを使用できます.sleepycat.bind.serial.StoredClassCatalog、ストレージ
あなたのクラス情報.
4.comを通過する.sleepycat.bind.serial.SerialBindingは、データとクラスをバインドします.
5.データのバインドと格納
シーケンス化オブジェクトクラス:
public class BookSer implements Serializable {
private int bookId; private String bookName; private String bookAuthor; private float bookPrice; private int bookPage; private String bookDesc;//get()とset()メソッド
.......
}
シーケンス化されたオブジェクトの保存:
- public static void main(String[] args) {
- Environment myenv = null;
- Database db = null;
- Cursor cursor=null;
- try {
- EnvironmentConfig envconfig = new EnvironmentConfig();
- envconfig.setAllowCreate(true);
- envconfig.setReadOnly(false);
-
- // C bdb
- myenv = new Environment(new File("c://bdb"), envconfig);
- DatabaseConfig dbconfig = new DatabaseConfig();
- dbconfig.setAllowCreate(true);
- dbconfig.setReadOnly(false);
- dbconfig.setSortedDuplicates(false);
- db = myenv.openDatabase(null, "book", dbconfig);
- //
- Database myclassdb=myenv.openDatabase(null, "myclassdb", dbconfig);
- // catalog
- StoredClassCatalog classCatalog =new StoredClassCatalog(myclassdb);
- //
- EntryBinding dataBinging=new SerialBinding(classCatalog,BookSer.class);
- DatabaseEntry thekey=new DatabaseEntry("mydata".getBytes("utf-8"));
- DatabaseEntry thedata=new DatabaseEntry();
- BookSer book=new BookSer();
- book.setBookId(1);
- book.setBookName("php web");
- book.setBookAuthor(" ");
- book.setBookPrice(new Float(23.00));
- book.setBookPage(687);
- book.setBookDesc("php web php web");
- dataBinging.objectToEntry(book, thedata);
- db.put(null, thekey, thedata);
- OperationStatus status=db.get(null, thekey, thedata, LockMode.DEFAULT);
- if(status==OperationStatus.SUCCESS){
- BookSer b=(BookSer) dataBinging.entryToObject(thedata);
- System.out.println(b.getBookId()+" "+b.getBookName()+" "+b.getBookPrice());
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (db != null) {
- db.close();
- }
- if (myenv != null) {
- myenv.cleanLog();
- myenv.close();
- }
- } catch (Exception e2) {
- }
- }
- }