隨筆 - 115  文章 - 481  trackbacks - 0
          <2006年4月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(19)

          隨筆檔案(115)

          文章檔案(4)

          新聞檔案(1)

          成員連接

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

            EasyDBO是通過配置文件來配置相關數據源等,只有為EasyDBO提供正確的配置信息。EasyDBO才能正常工作,EasyDBO的配置信息寫在easyjf-dbo.xml文件中,其發布到Web應用程序中的時候處于web-inf\classes\目錄下面。只有存放位置正確、內容正確的easyjf-dbo.xml配置信息,才能體驗EasyDBO簡易、實用的對象關系映射系統(ORM)功能。
          ?
          一、easyjf-dbo.xml文件的內容
          ?
           ??首先我們看一下EasyDBO_0.4.1版本中的一個完整的配置文件,下面是EasyDBO_0.4.1源碼中的easyjf-dbo.xml文件的全部內容,我們的測試數據庫為本機(即127.0.0.1或localhost)的數據庫,數據庫名為easyjf,密碼為easyjf,用戶名為root。
          ?
          easyjf-dbo.xml文件的全部內容:
          <?xml?version="1.0"?encoding="utf-8"?>
          <easyjf-dbo>
          <datasource?name="bbs"?type="org.apache.commons.dbcp.BasicDataSource">
          <!--Ms?SqlServer?-->
          <property?name="easydbo.connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
          <property?name="easydbo.connection.password">easyjf</property>
          <property?name="easydbo.connection.url">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=easyjf;SelectMethod=cursor</property>
          <property?name="easydbo.connection.username">root</property>
          <property?name="easydbo.dialect">com.easyjf.dbo.sql.MSSqlServerQuery</property>
          <!--?MySql-->?
          <!--
          <property?name="easydbo.connection.driver_class">org.gjt.mm.mysql.Driver</property>
          <property?name="easydbo.connection.password">easyjf</property>
          <property?name="easydbo.connection.url">jdbc:mysql://127.0.0.1:3306/easyjf</property>
          <property?name="easydbo.connection.username">root</property>
          <property?name="easydbo.dialect">com.easyjf.dbo.sql.MySqlQuery</property>
          -->
          <!--通過jdbc-odbc網橋連接-->
          <!--sun.jdbc.odbc.JdbcOdbcDriver-->
          <!--?jdbc:odbc:Driver=={Microsoft?Access?Driver?(*.mdb)};DBQ=access\\dbaccess.mdb-->
          <!--jdbc:odbc:DriverName-->
          <property?name="easydbo.optimize">true</property>
          <property?name="esyydbo.show_sql">true</property>
          </datasource>
          <tables>
          <class?name="com.easyjf.dbo.example.TestMessage"?table="Message"?schema="dbo"?catalog="test">
          ????????<id?name="cid"?type="string">
          ????????<column?name="cid"?length="16"?not-null="true"?/>
          ????????<generator?class="com.easyjf.dbo.RandomIdGenerator"?/>
          ????????</id>
          ????????<property?name="title"?type="string">
          ????????????<column?name="title"?length="50"?not-null="true"?/>
          ????????</property>
          ????????<property?name="content1"?type="string">
          ????????????<column?name="content"??/>
          ????????</property>
          ????????<property?name="status"?type="integer">
          ????????????<column?name="status"?length=""??/>
          ????????</property>
          ????????<property?name="inputUser"?type="string">
          ????????????<column?name="inputUser"?length="23"?/>
          ????????</property>
          ????????<property?name="inputTime"?type="date">
          ????????????<column?name="inputTime"?length="8"?/>
          ????????</property>
          ????</class>???
          </tables>
          <cache?name="EasyDBO"?storePolicy="LRU"?maxElements="1000"??expiredInterval="1000"?type="com.easyjf.cache.EasyCache"?/>
          </easyjf-dbo>

          二、EasyDBO中數據源的配置說明
          ?
          ??  接下來,我們重點看看有關數據源datasource的說明。
          ?
          ??  數據源是EasyDBO執行數據庫操作的時候,必須使用到的JDBC數據源。
          ?
            ?<datasource?name="bbs"?type="org.apache.commons.dbcp.BasicDataSource">
          ?
            ?EasyDBO考慮到項目中有時候需要連接幾個不同的數據庫的情況,因此一個數據庫定義為一個datasource,每一個datasource有一個名字name,同時有一個表示數據源類型的type,默認的情況下都是使用的第一個datasource作為缺省數據源。而使用apache的數據庫連接池dbcp.BasicDataSource作為默認連接池。
          ??這一行在我們當前提供的所有示例中都可以不用修改。

          ??  下面來看datasource中的各property節點的配置說明:
          ???
            ?<property?name="easydbo.connection.driver_class">表示JDBC數據庫驅動類,com.microsoft.jdbc.sqlserver.SQLServerDriver或者net.sourceforge.jtds.jdbc.Driver,而My?SQL的驅動為:org.gjt.mm.mysql.Driver。
            <property?name="easydbo.connection.url">表示數據源的具體的訪問地址,每一種驅動對應的寫法不同,請參照相應的預支說明。如MS?SQL的jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=easyjf;SelectMethod=cursor,或者用jtds作驅動的時候jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=easyjf;SelectMethod=cursor,My?SQL對應的URL寫法為:jdbc:mysql://127.0.0.1:3306/easyjf
            ?<property?name="easydbo.connection.username">節點表示數據庫的訪問用戶名
            <property?name="easydbo.connection.password">節點表示數據庫訪問密碼
          ????上面四個屬性都是jdbc連接數據庫共同所需的,由各個驅動程序共同規范的。
          ?
            ?<property?name="easydbo.dialect">節點表示EasyDBO的數據庫方言,這個是EasyDBO專用的。當前提供的三種方言,可以支持4種數據庫類型。其中com.easyjf.dbo.sql.MSSqlServerQuery為MS?SQL及Access皆可使用;而com.easyjf.dbo.sql.MySqlQuery適合My?SQL使用;com.easyjf.dbo.sql.OracleQuery適合Oracle數據庫使用。
          ??
            <property?name="easydbo.optimize">節點表示是否需要進行數據優化,這個可以隨便設置。
          ??
            <property?name="esyydbo.show_sql">節點表示是否需要在日志中輸出具體的SQL語句,若為true則會輸出SQL語句,若為false則不輸出。輸出sql語句對于調試、觀察程序的運行比較有用。正式發布的程序的時候為了提高效率,可以設置成為false。
          ??
          ???
            使用JNDI方式獲取數據源
          ?
            很多時候,我們的數據源是存放在容器中的,如Weblogic,這時一般是通過JNDI的方式獲得數據源,而數據源管理則交給具體的容器負責。若要通過使用JNDI方式獲取數據源,則上面的<property?name="easydbo.connection.driver_class">,<property?name="easydbo.connection.url">兩個屬性不需要設置,而是通過<property?name="easydbo.connection.jndiFactory">,<property?name="easydbo.connection.jndi">兩個屬性來設置。
          ??
          三、easyjf-dbo.xml文件中的其它設置
          ??
            在easyjf-dbo.xml文件中,除了配置數據源以外,還可以配置具體的對象關系表映射,其中<tables><class>這一部分就是供大家直接通過配置文件的方式配置對象關系映射的,由于我們當前示例都是直接使用實現IObject接口方式寫的PO,因此只有example中的TestMessage.java演示了通過配置文件方式實現對象關系映射,這一部分的內容我們將會在以后重點講述。

          四、關于cache的配置
            在easyjf-dbo.xml文件中,有<cache>這個節點,以后可通過他來配置數據庫的緩存。當前的緩存是通過easyjf-cache.xml文件來配置的。
          ?
            easyjf-cache.xml文件的全部內容如下:
          ??<?xml?version="1.0"?encoding="utf-8"?>
          <easyjf-cache>
          <!--?storePolicy主要有LRU、LFU、FIFO三種-->
          <cache?name="EasyDBO"?storePolicy="LRU"?maxElements="1000"??expiredInterval="1000"?type="com.easyjf.cache.EasyCache"/>
          </easyjf-cache>
          ?
            若要使用cache功能,則在與easyjf-dbo.xml文件所在的目錄中建一個easyjf-cache.xml文件,內容如上即可。
          ??關于cache,我們會在以后作詳細的介紹。
          posted on 2006-04-27 10:32 簡易java框架 閱讀(1021) 評論(2)  編輯  收藏

          FeedBack:
          # re: EasyDBO配置文件easyjf-dbo.xml簡介 2006-04-28 11:14 黃金時代已過
          一個超輕量級的ORM還是很有意義的。

          請問能介紹EasyDBO和Hibernate相比有什么優缺點嗎?

            回復  更多評論
            
          # re: EasyDBO配置文件easyjf-dbo.xml簡介 2006-04-30 12:55 簡易java框架
          @黃金時代已過
          EasyDBO和HIBERNATE比很小,所以.jar包小啊!還有就是你能感覺到他在處理單個表的映射上真的是相當簡單。
          說到這里你就該了解他個HIBERNATE 的一個很大的差距了就是EASYDBO不能處理表間關聯,所以你要對每一個表(不管其粒度多細)做一個OBJECT來和他對應,所以在用EASYDBO的時候你對數據庫的設計就會顯得(有時候)不太合理。而且要處理很細小的關聯處理操作。
          但EASYDBO確實很簡單!!!!!  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 华亭县| 唐河县| 永康市| 广昌县| 若羌县| 收藏| 阿城市| 黑龙江省| 凤凰县| 广昌县| 黑河市| 基隆市| 陵水| 株洲市| 大庆市| 察雅县| 扶沟县| 舟曲县| 衡东县| 渭南市| 左权县| 西峡县| 大埔县| 翁牛特旗| 黄石市| 宣威市| 维西| 新民市| 昌乐县| 汝城县| 淮阳县| 新宁县| 沙洋县| 玉溪市| 尼勒克县| 昂仁县| 金塔县| 西平县| 尉氏县| 潞城市| 长寿区|