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

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

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

    隨筆-124  評論-49  文章-56  trackbacks-0
     
         摘要: 一對多關聯映射(one-to-many) 一對多關聯映射利用了多對一關聯映射原理   * 多對一關聯映射:在多的一端加和一個外鍵指向一的一端,它維護的關系是多指向一的   * 一對多關聯映射:在一的一端加和一個外鍵指向多的一端,它維護的關系是一指向多的 也就是說一對多和多對一的映射策略是一樣的,只是站的角度不同,一般都作成雙項的 -------------------...  閱讀全文
    posted @ 2009-11-03 16:04 junly 閱讀(655) | 評論 (0)編輯 收藏
         摘要: 多對一關聯映射 many-to-one 關聯映射本質:   * 將關聯關系映射到數據庫,所謂的關聯關系是對象模型在內存中的一個或多個引用。   <many-to-one/>標簽會在多的一端加入一個外鍵,指定一的一端,這個外鍵是由<many-to-one> 中的column屬性定義的,如果忽略了這個屬性那么默認的外鍵與實體的屬性一致 <...  閱讀全文
    posted @ 2009-11-03 15:53 junly 閱讀(436) | 評論 (0)編輯 收藏
    hibernate基本映射
    實體類------>表
    實體類的設計原則:
      * 實現一個默認(無參)的構造方法(constructor)
      * 提供一個標識屬性(identifier property)
      * 使用非final的類
      * 為持久化字段聲明訪問器(accessors),即get/set方法
    實體類中的普通屬性----->表字段
    采用<class>標簽映射成數據庫表,通過<property>標簽將普通屬性映射成表字段
    所謂普通屬性不包括自定義類、集合和數組
    注意:表或字段與sql關鍵字一樣,必須重名稱
    <hibernate-mapping/>標簽
    <hibernate-mapping
             schema="schemaName"                                    (1)
             catalog="catalogName"                                     (2)
             default-cascade="cascade_style"                       (3)
             default-access="field|property|ClassName"        (4)
             default-lazy="true|false"                                     (5)
             *auto-import="true|false"                                  (6)
             *package="package.name"                               (7)
     />
    (6) auto-import (可選 - 默認為 true): 指定我們是否可以在查詢語言中使用非全限定的類名(僅限于本映射文件中的類)。
    (7) package (可選): 指定一個包前綴,如果在映射文檔中沒有指定全限定的類名, 就使用這個作為包名。
    <hibernate-mapping package="com.my.hibernate">
        
    <class name="User">
            
    <id name="id">
                
    <generator class="uuid"/>
            
    </id>
            
    <property name="name"/>
            
    <property name="password"/>
            
    <property name="createTime"/>
            
    <property name="expireTime"/>
        
    </class>
    </hibernate-mapping>
     
    <class/>標簽--表
    <class
            *name="ClassName"                              (1)
            *table="tableName"                             (2)
            *discriminator-value="discriminator_value"     (3)
             mutable="true|false"                          (4)
             schema="owner"                                (5)
             catalog="catalog"                             (6)
             proxy="ProxyInterface"                        (7)
            *dynamic-update="true|false"                   (8)
            *dynamic-insert="true|false"                   (9)
             select-before-update="true|false"             (10)
             polymorphism="implicit|explicit"              (11)
             where="arbitrary sql where condition"         (12)
             persister="PersisterClass"                    (13)
            *batch-size="N"                                (14)
            *optimistic-lock="none|version|dirty|all"      (15)
            *lazy="true|false"                             (16)
             entity-name="EntityName"                      (17)
             check="arbitrary sql check condition"         (18)
             rowid="rowid"                                 (19)
             subselect="SQL expression"                    (20)
            *abstract="true|false"                         (21)
             node="element-name"
    />
    (1) name (可選): 持久化類(或者接口)的Java全限定名。 如果這個屬性不存在,Hibernate將假定這是一個非POJO的實體映射。
    (2) table (可選 - 默認是類的非全限定名): 對應的數據庫表名。
    (3) discriminator-value (可選 - 默認和類名一樣): 一個用于區分不同的子類的值,在多態行為時使用。它可以接受的值包括 null 和 not null。
    (8) dynamic-update (可選, 默認為 false): 指定用于UPDATE 的SQL將會在運行時動態生成,并且只更新那些改變過的字段。
    (9) dynamic-insert (可選, 默認為 false): 指定用于INSERT的 SQL 將會在運行時動態生成,并且只包含那些非空值字段。
    (14) batch-size (可選,默認是1) 指定一個用于 根據標識符(identifier)抓取實例時使用的"batch size"(批次抓取數量)。
    (15) optimistic-lock(樂觀鎖定) (可選,默認是version): 決定樂觀鎖定的策略。
    (16) lazy (可選): 通過設置lazy="false", 所有的延遲加載(Lazy fetching)功能將被全部禁用(disabled)。
    (21) abstract (可選): 用于在<union-subclass>的繼承結構 (hierarchies)中標識抽象超類。
     

    <id/>標簽 -主鍵
    主鍵生成策略:
    uuid  native 和assigned
    <id
            *name="propertyName"                                          (1)
            type="typename"                                              (2)
            *column="column_name"                                         (3)
            unsaved-value="null|any|none|undefined|id_value"             (4)
            access="field|property|ClassName"                            (5)
            node="element-name|@attribute-name|element/@attribute|.">
            *length                                                       (6)

            <generator class="generatorClass"/>
    </id>
    (1) name (可選): 標識屬性的名字。
    (2) type (可選): 標識Hibernate類型的名字。
    (3) column (可選 - 默認為屬性名): 主鍵字段的名字。
    (4) unsaved-value (可選 - 默認為一個切合實際(sensible)的值): 一個特定的標識屬性值,用來標志該實例是剛剛創建的,尚未保存。 這可以把這種實例和從以前的session中裝載過(可能又做過修改--譯者注) 但未再次持久化的實例區分開來。
    (5) access (可選 - 默認為property): Hibernate用來訪問屬性值的策略。
    (6) 長度.

     
    <generator/>生成唯一的標識
    <id name="id" type="long" column="cat_id">
            <generator class="uuid">
            </generator>
    </id>
    identity
    對DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的內置標識字段提供支持。 返回的標識符是long, short 或者int類型的。
    sequence
    在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence), 而在Interbase中使用生成器(generator)。返回的標識符是long, short或者 int類型的。
    uuid
    用一個128-bit的UUID算法生成字符串類型的標識符, 這在一個網絡中是唯一的(使用了IP地址)。UUID被編碼為一個32位16進制數字的字符串。
    native
    根據底層數據庫的能力選擇identity, sequence 或者hilo中的一個。
    assigned
    讓應用程序在save()之前為對象分配一個標示符。這是 <generator>元素沒有指定時的默認生成策略。
    foreign
    使用另外一個相關聯的對象的標識符。通常和<one-to-one>聯合起來使用。
     
    <property/>生成字段
    <property
            *name="propertyName"                                          (1)
            *column="column_name"                                         (2)
            type="typename"                                              (3)
            update="true|false"                                          (4)
            insert="true|false"                                          (4)
            formula="arbitrary SQL expression"                           (5)
            access="field|property|ClassName"                            (6)
            lazy="true|false"                                            (7)
            unique="true|false"                                          (8)
            not-null="true|false"                                        (9)
            optimistic-lock="true|false"                                 (10)
            generated="never|insert|always"                              (11)
            node="element-name|@attribute-name|element/@attribute|."
            index="index_name"
            unique_key="unique_key_id"
            length="L"
            precision="P"
            scale="S"
    />
    (1) name: 屬性的名字,以小寫字母開頭。
    (2) column (可選 - 默認為屬性名字): 對應的數據庫字段名。 也可以通過嵌套的<column>元素指定。 
    (4) update, insert (可選 - 默認為 true) : 表明用于UPDATE 和/或 INSERT 的SQL語句中是否包含這個被映射了的字段。這二者如果都設置為false 則表明這是一個“外源性(derived)”的屬性,它的值來源于映射到同一個(或多個) 字段的某些其他屬性,或者通過一個trigger(觸發器)或其他程序生成。
    (7) lazy (可選 - 默認為 false): 指定 指定實例變量第一次被訪問時,這個屬性是否延遲抓取(fetched lazily)( 需要運行時字節碼增強)。
    (8) unique (可選): 使用DDL為該字段添加唯一的約束。 同樣,允許它作為property-ref引用的目標。
    (9) not-null (可選): 使用DDL為該字段添加可否為空(nullability)的約束。

    映射文件中一般類型中可以省略,其他不略
    posted @ 2009-11-03 15:35 junly 閱讀(543) | 評論 (0)編輯 收藏
         摘要: 類擬框架:Apache OJB,JDO,Toplink,EJB(CMP)JPA,IBatis 適合查詢及單個對象的編輯,適合于對象之間有清晰的關系,不適用于批量修改,關系復雜的對象及特定的sql功能 第一個項目 1 新建java項目 2 創建User Library,加入如下jar   * hibernate_home/hibernate3.jar   * hibe...  閱讀全文
    posted @ 2009-11-03 15:26 junly 閱讀(224) | 評論 (0)編輯 收藏
         摘要:   A概念 最常用的3個概念 sequence 序列,對應java里的list、數組等非鍵值對的集合 hash      鍵值對的集合 namespace 對一個ftl文件的引用,利用這個名字可以訪問到該ftl文件的資源 B指令 if, else, elseif 語法 <#if condition>...  閱讀全文
    posted @ 2009-11-03 11:12 junly 閱讀(2206) | 評論 (0)編輯 收藏
         摘要: 1 web.xml <!------ AutoSuggest/WebContent/WEB-INF/web.xml ---->     <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//S...  閱讀全文
    posted @ 2009-11-03 11:07 junly 閱讀(343) | 評論 (0)編輯 收藏
         摘要: DWR中處理List調用返回JavaBean的java方法 4.1、dwr.xml的配置 <dwr> <allow> <create creator="new" javascript="testClass" > <param name="class" value="com.dwr.Te...  閱讀全文
    posted @ 2009-11-03 10:54 junly 閱讀(638) | 評論 (0)編輯 收藏
    方法1:

    fuction test{
       tt.hello(
        callback:
    function(datas){
             alert(datas.key1);
             alert(datas.[
    "key2"]);
        }

       );
    }

    方法2:

    fuction test{
       tt.hello(
        callback:
    function(datas){
             
    for(var prop in datas){
                 alert(
    "key="+prop+",value="+datas.[prop]);
             }

        }

       );
    }


    同時調用多個方法時,設置dwr的方法調用方式
    true(默認):效果為可以同時調用方法1和2,可以先調用方法2后調用方法1,不能確認
    false:先調用方法1后調用方法2,按js中調用的順序調用

    dwr.engine.setAsync(false);


    posted @ 2009-11-03 10:43 junly 閱讀(361) | 評論 (0)編輯 收藏
         摘要: util.js包含一些有用的函數function,用于在客戶端頁面調用. 主要功能如下: 代碼 1、$() 獲得頁面參數值    2、addOptions and removeAllOptions 初始化下拉框    3、addRows and removeAllRows   填充表格 ...  閱讀全文
    posted @ 2009-11-03 10:41 junly 閱讀(746) | 評論 (0)編輯 收藏

    var xmlrequestXml;
    function createXmlHttpreqest(){
      if(window.ActiveXObject)
      {
            return new ActiveXObject("Microsoft.XMLHTTP");
      }else if(window.XMLHttpRequest)
      {
     return new XMLHttpRequest();
      }
    }
    var rul="?operate=doaa&uname="+uname;
    1 創建xmlHttpRequest組件
    xmlrequestXml=createXmlHttpreqest();
    2 回調函數
    xmlHttpRequest.onreadystatechange=haolejiaowo;、
    3 注冊
    xmlHttpRequest.open("GET",url,true);
    4 發送
    xmlHttpRequest.send(null);

    function haolejiaowo()
    {
      if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status=200)
      {
        var b=xmlHttpRequest.responseText;
        if(b=="true")
        {}
        else
        {}
      }
    }

    ---------------------------------------------------------------------
    1 jar http://getachead.org/dwr
    2 創建配置文件:/WEB-INF/dwr.xml
      <dwr>
     <allow>
      <create creator="new[struts/spring]" javascript="JUserChecker">
      <param name="class" value="com.bj.biz.Manager"/>
     <!--
      <include method="check"/>
      <include method="check2"/>
     -->
     </allow>
      </dwr>
    3 在web.xml中配置
      <servlet>
       <servlet-name>dwr</servlet-name>
       <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
       <init-param>
        <param-name>debug</param-name>
        <param-value>true</param-value>
       </init-param>
     <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>dwr</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
      </servlet-mapping>
    4 java類
     
    5 測試 http://127.0.0.1:8080/dwrpro/dwr/
    6 頁面代碼
    <script src="dwr/interface/JUserChecker.js"/>

    function checkUserExists(oCtl){
     var uname=oCtl.vlaue;
     JUserChecker.ckeck(uname,haoLeJiaoWo);
    }
    fucntion haoLeJiaoWo(data){
     alert(data); 
    }

    返回對象

    posted @ 2009-11-03 10:36 junly 閱讀(208) | 評論 (0)編輯 收藏
    僅列出標題
    共18頁: First 上一頁 10 11 12 13 14 15 16 17 18 下一頁 
    主站蜘蛛池模板: 免费无码国产在线观国内自拍中文字幕| 亚洲人成电影福利在线播放| 亚洲欧美日韩自偷自拍| 成人在线免费看片| 亚洲精品国产成人| 曰曰鲁夜夜免费播放视频| 久久精品国产亚洲av影院| 亚洲精品免费网站| 亚洲国产系列一区二区三区| 成年人性生活免费视频| 亚洲成熟丰满熟妇高潮XXXXX| 永久免费bbbbbb视频| 狠狠热精品免费观看| 亚洲五月综合缴情在线观看| 91免费国产视频| 三年片在线观看免费西瓜视频| 中文字幕亚洲日本岛国片| 中文成人久久久久影院免费观看 | 亚洲一区二区三区国产精华液| fc2免费人成在线| 亚洲AV永久无码精品| 在免费jizzjizz在线播| 色在线亚洲视频www| mm1313亚洲精品无码又大又粗| 一级大黄美女免费播放| 亚洲国产高清在线| 卡一卡二卡三在线入口免费| 日日摸夜夜添夜夜免费视频| 亚洲视频精品在线| 永久免费av无码网站大全| 99久久免费国产特黄| 亚洲一区在线视频| 亚洲国产精品狼友中文久久久 | 亚洲免费观看网站| 国产亚洲精彩视频| 亚洲综合国产精品| 小小影视日本动漫观看免费| 成人免费ā片在线观看| 亚洲男人在线无码视频| 免费在线视频你懂的| 美女黄频a美女大全免费皮|