在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式數(shù)據(jù)庫在Java中的應用[1]

            嵌入式數(shù)據(jù)庫在Java中的應用[1]

            作者: 時間:2008-04-03 來源:網(wǎng)絡 收藏

            本文引用地址:http://www.biyoush.com/article/258086.htm

            Berkeley DB每一個記錄都有一個鍵值和對應的數(shù)據(jù)值,而鍵值和數(shù)據(jù)必須是類com.sleepycat.db.Dbt的對象或其子類的對象。Dbt提供了一些方法可以將byte數(shù)組或Object對象保存到Dbt的對象中去。比如,Dbt類中的set_data(byte[])或set_object(Object)方法。注意到目前Berkeley DB中的 API命名方法并不符合的命名規(guī)范,比如set_data()方法應該命名為setData()方法。Berkeley DB許諾在下一個版本中會提供符合命名規(guī)范的 API。

              Berkeley DB對任何存入的數(shù)據(jù)都是直接原樣存儲到數(shù)據(jù)文件中去,無論其是二進制數(shù)據(jù)還是ASCII或Unicode等編碼的文本。通常可以利用這一特性和Java串行化的概念方便的進行數(shù)據(jù)的存取。例如聲明一個類
              public class AccountInfo implements Serializable{
                //帳戶信息
                public String loginName;
                public String password;
                public boolean auotLogin;
              }

              在這個AccountInfo類中僅僅包含了數(shù)據(jù)項的定義。我們完全可以將這個類看作數(shù)據(jù)庫的表中字段定義??梢杂肂erkeley DB保存AccountInfo對象的串行化二進制數(shù)據(jù),以此來保存這個對象中的變量值。在操作中,先對Dbt的對象調(diào)用set_object(AccountInfo)方法,而后把這個Dbt對象作為一條紀錄保存到表中。當然,我們也可以應用繼承Dbt類的方法來完成對數(shù)據(jù)的保存。

              下面這段簡單代碼演示如何將數(shù)據(jù)存入到數(shù)據(jù)庫中,然后再用游標對象瀏覽全部數(shù)據(jù)。

              //注意,下面的程序的忽略了對異常處理,寫入數(shù)據(jù)初始化等等一些代碼,請在適當修改后再編
              //譯運行它
              Db dbFile = null;
              //生成Db對象
              dbFile = new Db(null, 0);
              //用BTree方式打開數(shù)據(jù)庫,庫文件是在c:/temp下的mydata.db文件,表名是employee
              //如果數(shù)據(jù)庫不存在,則自動生成一個新的數(shù)據(jù)庫。
              dbFile.open(null,c:tempmydata.db,employee,Db.DB_BTREE,
              Db.DB_CREATE,0);
              Dbt key = new Dbt();
              Dbt data = new Dbt();
              //向庫文件中插入一條數(shù)據(jù),如果已經(jīng)存在,打印出錯信息
              if (dbFile.put(null,key, data, Db.DB_APPEND) == Db.DB_KEYEXIST) {
              System.out.println(Key already exists.);
              }
              //關(guān)閉數(shù)據(jù)文件
              dbFile.close(0);
              //重新打開數(shù)據(jù)文件
              dbFile = new Db(null, 0);
              dbFile.open(null, c:tempmydata.db, employee, Db.DB_UNKNOWN, 0, 0644);
              // 聲明一個數(shù)據(jù)庫游標Dbc對象iterator
              Dbc iterator = dbFile.cursor(null, 0);
              // 遍歷整個表
              Dbt key = new Dbt();
              while (iterator.get(key, data, Db.DB_NEXT) == 0)
              {
                System.out.println(reading);
              }



            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉