<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    常用鏈接

    留言簿(19)

    隨筆檔案(115)

    文章檔案(4)

    新聞檔案(1)

    成員連接

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

      EasyDBO是通過配置文件來配置相關(guān)數(shù)據(jù)源等,只有為EasyDBO提供正確的配置信息。EasyDBO才能正常工作,EasyDBO的配置信息寫在easyjf-dbo.xml文件中,其發(fā)布到Web應(yīng)用程序中的時(shí)候處于web-inf\classes\目錄下面。只有存放位置正確、內(nèi)容正確的easyjf-dbo.xml配置信息,才能體驗(yàn)EasyDBO簡(jiǎn)易、實(shí)用的對(duì)象關(guān)系映射系統(tǒng)(ORM)功能。
    ?
    一、easyjf-dbo.xml文件的內(nèi)容
    ?
     ??首先我們看一下EasyDBO_0.4.1版本中的一個(gè)完整的配置文件,下面是EasyDBO_0.4.1源碼中的easyjf-dbo.xml文件的全部?jī)?nèi)容,我們的測(cè)試數(shù)據(jù)庫(kù)為本機(jī)(即127.0.0.1或localhost)的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名為easyjf,密碼為easyjf,用戶名為root。
    ?
    easyjf-dbo.xml文件的全部?jī)?nèi)容:
    <?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網(wǎng)橋連接-->
    <!--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中數(shù)據(jù)源的配置說明
    ?
    ??  接下來,我們重點(diǎn)看看有關(guān)數(shù)據(jù)源datasource的說明。
    ?
    ??  數(shù)據(jù)源是EasyDBO執(zhí)行數(shù)據(jù)庫(kù)操作的時(shí)候,必須使用到的JDBC數(shù)據(jù)源。
    ?
      ?<datasource?name="bbs"?type="org.apache.commons.dbcp.BasicDataSource">
    ?
      ?EasyDBO考慮到項(xiàng)目中有時(shí)候需要連接幾個(gè)不同的數(shù)據(jù)庫(kù)的情況,因此一個(gè)數(shù)據(jù)庫(kù)定義為一個(gè)datasource,每一個(gè)datasource有一個(gè)名字name,同時(shí)有一個(gè)表示數(shù)據(jù)源類型的type,默認(rèn)的情況下都是使用的第一個(gè)datasource作為缺省數(shù)據(jù)源。而使用apache的數(shù)據(jù)庫(kù)連接池dbcp.BasicDataSource作為默認(rèn)連接池。
    ??這一行在我們當(dāng)前提供的所有示例中都可以不用修改。

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

    四、關(guān)于cache的配置
      在easyjf-dbo.xml文件中,有<cache>這個(gè)節(jié)點(diǎn),以后可通過他來配置數(shù)據(jù)庫(kù)的緩存。當(dāng)前的緩存是通過easyjf-cache.xml文件來配置的。
    ?
      easyjf-cache.xml文件的全部?jī)?nèi)容如下:
    ??<?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文件所在的目錄中建一個(gè)easyjf-cache.xml文件,內(nèi)容如上即可。
    ??關(guān)于cache,我們會(huì)在以后作詳細(xì)的介紹。
    posted on 2006-04-27 10:32 簡(jiǎn)易java框架 閱讀(1025) 評(píng)論(2)  編輯  收藏

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

    請(qǐng)問能介紹EasyDBO和Hibernate相比有什么優(yōu)缺點(diǎn)嗎?

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

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 精品亚洲AV无码一区二区三区 | 国产成人免费片在线观看| 国产亚洲精品仙踪林在线播放| 国产亚洲精品无码拍拍拍色欲| 免费看又黄又无码的网站| 中文字幕在线观看亚洲日韩| 91麻豆精品国产自产在线观看亚洲 | 日本道免费精品一区二区| 91亚洲国产成人久久精品网址| 波多野结衣一区二区免费视频| a国产成人免费视频| 亚洲中文字幕AV每天更新| 亚洲不卡中文字幕无码| 在线免费不卡视频| 国产拍拍拍无码视频免费| 亚洲成a∧人片在线观看无码| 亚洲成AV人在线播放无码| 国产又大又长又粗又硬的免费视频| 日韩免费高清播放器| 亚洲精品蜜夜内射| 中文字幕亚洲精品资源网| 免费人成视频在线观看视频| 又大又硬又爽又粗又快的视频免费| 爱爱帝国亚洲一区二区三区| 亚洲国产午夜精品理论片| 中文字幕人成人乱码亚洲电影 | 亚洲国产精品成人综合色在线婷婷| 亚洲国产人成精品| 四虎国产精品免费久久| 日本卡1卡2卡三卡免费| 大片免费观看92在线视频线视频| 中文字幕亚洲综合小综合在线| 国产偷v国产偷v亚洲高清| 亚洲精品无码久久不卡| 日本免费高清一本视频| 99久久免费国产香蕉麻豆| 久久九九全国免费| 中文字幕在线成人免费看| 特级一级毛片免费看| 亚洲6080yy久久无码产自国产| 亚洲乱码一区av春药高潮|