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

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

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

    有才華的人,別忘記給滋潤你的那塊土壤施肥

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      28 隨筆 :: 5 文章 :: 147 評(píng)論 :: 0 Trackbacks

    在Hibernate3.0中廢除了find()方法,取而代之的是Query接口
    一、綁定參數(shù)
    1、使用“?”指定參數(shù)
    通過Query接口可以先設(shè)定查詢參數(shù),然后通過setXXX()等方法,將指定的參數(shù)值填入,而不用每次編寫完整的HQL。
     Query query = session.createQuery(“from Student s where s.age>? and s.name like ?”)
     query.setInteger(0,25);
     query.setString(1,”%clus%”);
           ……………….
    2、使用“:“后跟變量的方法設(shè)置參數(shù)
    可以使用命名參數(shù)來取代“?“設(shè)置參數(shù)的方法,這可以不用來依照特定的順序來設(shè)定參數(shù)值,比如上面的示例代碼也可以寫為:
    Query query = session.createQuery(“from Student s where s.age>:minAge and s.name like :likeName”)
     query.setInteger(minAge,25);
     query.setString(likeName,”%clus%”);
    ………………..
    4、setEntity()方法
    setEntity()方法把參數(shù)與持久化類的示例綁定
    Team team = (Team)session.get(Team.class,”aaa565efc767”);
    Query query = session.createQuery(“from Student s where s.team>:team”)
    query. setEntity(“team”,team);
    …………………………..
    5、setParameter()方法
          setParameter()方法全稱是setParameter(String paraName,實(shí)例,實(shí)例類型),這個(gè)方法可以綁定任意類型的參數(shù)。如可把上面的改寫為:
            query.setParameter(“team”,team,Hibernate.entity(Team.class)),其中,Hibernate.entity()指定映射的Hibernate 類型,也可以不要,如:
     query.setParameter(“team”,team)
    ……………..
    6、setPropertyies()方法
         setPropertyies()的全稱是setPropertyies(類實(shí)例)。它將類實(shí)例的屬性名與參數(shù)值相對(duì)應(yīng),如:
    Student   stu = new Student();
    Stu.setAge(99);
    Query query = session.createQuery(“from Student s where s.age=:age”);
     query.setProperties(stu);
    ……………….
    二、使用命名查詢
         可以將HQL語句寫在程序之外,以避免硬編碼在程序之中,需要的時(shí)候可以隨時(shí)更改,在*.hbm.xml中使用<query/>標(biāo)簽,并在<![CDATA[與]]>之間編寫HQL,編寫的位置是在</class>節(jié)點(diǎn)之后</hibername-mapping>節(jié)點(diǎn)之間。如:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC
              "-//Hibernate/Hibernate Mapping DTD//EN"
              "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
        <class name="com.kissjava.Student" table="student" lazy="true">
           <id name="id" unsaved-value="null">
               <generator class="uuid.hex"/>
           </id>
           <property name="name" type="string"/>
           <property name="age" type="int"/>
        </class>
        <!-- 設(shè)置命名查詢 -->
        <query name="namedQueryAgeName"><!-- 此查詢被調(diào)用的名字 -->
           <![CDATA[
                  from Student s where s.age>:minAge and s.name like:likeName
               ]]>
        </query>
    </hibernate-mapping>
    <query>的name屬性用來設(shè)定查詢外部HQL時(shí)的名稱依據(jù),使用命名查詢的源碼如下:
    Query query = session.getNamedQuery(“namedQueryAgeName”)
     query.setInteger(minAge,25);
     query.setString(likeName,”%clus%”);
    ………………..
     

    posted on 2008-03-05 11:26 kissjava 閱讀(837) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 成年女人18级毛片毛片免费观看| 免费电影在线观看网站| 无码人妻久久一区二区三区免费丨 | 2048亚洲精品国产| 亚洲国产理论片在线播放| 国产精品亚洲专区无码唯爱网| 免费网站观看WWW在线观看| 在线免费观看一级毛片| 亚洲精品中文字幕无码蜜桃| 亚洲最大中文字幕无码网站 | 国产大片91精品免费看3| 午夜亚洲国产理论秋霞| 污视频网站免费观看| 2021国产精品成人免费视频| 最新国产AV无码专区亚洲| 亚洲性无码一区二区三区| 国产精品免费看久久久| 国产自产拍精品视频免费看| 亚洲黄色在线观看| fc2免费人成为视频| 日韩精品免费一区二区三区| 久久亚洲中文字幕精品有坂深雪| 免费精品视频在线| www.999精品视频观看免费| 亚洲国产精品无码AAA片| 美女黄频免费网站| 成熟女人牲交片免费观看视频| 亚洲AV福利天堂一区二区三| 老司机午夜在线视频免费观| 中文字幕人成无码免费视频| 色拍自拍亚洲综合图区| 中国人免费观看高清在线观看二区 | 免费人成网站在线高清| 亚洲精品二三区伊人久久| 日本免费中文字幕| 中文字幕亚洲一区二区三区| 亚洲AV无码国产剧情| 日本精品人妻无码免费大全| 亚洲色av性色在线观无码| 你懂得的在线观看免费视频| 亚洲国产精品碰碰|