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

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

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

    posts - 495,comments - 227,trackbacks - 0
    +++在映射文件中定義命名查詢
    <class .. >
    </class>
    <query name="findCustomersByName"><![CDATA[
        from Customer c where c.name like :name
    ]]></query>
    語句:Query q=session.getNamedQuery("findCustomersByName");
         q.setString("name",name);
         List result=query.list();
    ++++ HQL Vs QBC 檢索方式

    比較運算
     . 檢索年齡大于18的Customer
         HQL  session.createQuery("from Customer cwhere c.age>18");
         QBC  Criteria criteria=session.createCriteria(Customer.class);
              criteria.add(Expression.gt("age",18));
    2 . 檢索年齡不等于 18的
        HQL session.createQuery("from Customer c where c.age<>18")
        QBC Criteria criteria =session.createCriteria(Customer.class);
            criteria.add(Expression.not(Expression.eq("age",new Integer(18))));
    3.  檢索姓名為空的Customer對象
       HQL  session.createQuery("from Customer c where c.name is null");
       QBC  Criteria criteria =session.createCriteria(Customer.class);
            criteria.add(Expression.isNull("name"));
    4. 檢索不屬于任何客戶的訂單
       HQL  session.createQuery("from Order o where o.customer is null");
       QBC  Criteria criteria =session.createCriteria(Order.class);
            criteria.add(Expression.isNull("customer"));
    5. HQL  Query q=session.createQuery("from Customer c where lower(c.name)='tom'");
            Query q=session.createQuery("from Customer c where upper(c.name)='TOM'");
       QBC  Criteria criteria =session.createCriteria(Customer.class);
            criteria.add(Expression.eq("name","tom").ignoreCase());
    范圍運算
    1. 檢查姓名為 Tom,Mike 或者Jack 的 Customer對象
        HQL session.createQuery("from Customer c where c.name in('Tom','Mike','Jack')");
        QBC Criteria criteria=session.createCriteria(Customer.class);
             String names[]={"Tom","Mike","Jack"};
             criteria.add(Expression.in("name",names));
    2. 檢查年齡在 18 到  25之間的Customer對象
       HQL session.createQuery("from Customer c where c.age between 18 and 25");
       QBC Criteria criteria=session.createCriteria(Customer.class);
           criteria.add(Expression.between("age",new Integer(18),newInteger(25)))
    3. 檢索年齡不在 18到  25之間的Customer對象;
       HQL session.createQuery("from Customer c where c.age not between 18 and 25");
       QBC Criteria criteria=session.createCriteria(Customer.class);
           criteria.add(Expression.not(Expression.between("age",new Integer(18),newInteger(25))))
    字符串模式匹配
    1. 檢索姓名以 "T"開頭的Customer對象
         HQL  session.createQuery("from Customer cwhere c.name like 'T%'");
         QBC  Criteria criteria=session.createCriteria(Customer.class);
              criteria.add(Expression.like("name","T%"));
               %表示  任意個字符
               _表示  一個字符
              Or
             criteria.add(Expression.like("name","T",MatchMode.START));
          MatchMode 類中有:
                           START    開頭
                           END      結尾
                           ANYWHERE 包含
                           EXACT    精確
    邏輯運算符
      Expression.and(Expression1,Expression2);
      Expression.or(Expression1,Expression2);
      
    連接查詢:::::
    1 . 映射文件中的配置
    lazy="true" 延遲加載
    fetch="select" 迫切加載
    2.
      2.1  迫切左外連接, HQL : from Customer c left join fetch c.orders o where c.name like 'T'");
                       QBC : criteria.setFetchMode("orders",FetchMode.EAGER); 迫切加載
         QBC 只支持 迫切左外連接,與內連接
      2.2  左外連接,    HQL : from Customer c left join c.orders where c.name like 'T%'
                        
      2.3 內連接     HQl :  from Customer c inner join c.orders o where c.name like 'T%'
              
      
    2.4 迫切內連接 ,  HQL:  from customer c inner join fetch c.orders o where c.name like 'T%'
    2.5 隱式內連接 , HQL :  from customer c where c.homeAddress.provice like '%hai'
    2.6 右外連接  ,   HQL :  from customer right outer join c.orders o where c.name like 'T%'

    報表查詢 :
       select new mypack.CustomerRow(c.id,c.name,o.orderNumber)
       from customer c join c.orders o
       where o.orderNumber like 'T%'

       distinct 關鍵字 消除重復關鍵字
       order by  asc||desc 排序
       group by 列    分組查詢
    posted on 2011-06-01 21:54 SIMONE 閱讀(938) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 免费成人高清在线视频| 韩国免费A级毛片久久| 无码国产精品一区二区免费I6| 亚洲人成色7777在线观看| 乱淫片免费影院观看| 亚洲国产a级视频| 一级毛片成人免费看a| 亚洲欧洲自拍拍偷精品 美利坚| a级毛片免费网站| 奇米影视亚洲春色| a级毛片免费观看视频| 亚洲天天在线日亚洲洲精| 中文字幕成人免费视频| 亚洲综合色丁香麻豆| 野花高清在线观看免费完整版中文 | 精品国产免费一区二区| 亚洲精品无码av片| 全黄性性激高免费视频| 一级毛片人与动免费观看| 亚洲精品无码永久中文字幕| 日韩在线不卡免费视频一区| 亚洲国产精品综合久久网各 | 免费无码VA一区二区三区| 久久精品国产亚洲精品2020| 18禁成年无码免费网站无遮挡| 国产精品亚洲专一区二区三区| 中文字幕精品亚洲无线码一区| 国产精品99精品久久免费| 亚洲成a人片毛片在线| 国产男女猛烈无遮档免费视频网站| 黄色网址在线免费观看| 国产av天堂亚洲国产av天堂 | 亚洲精品国产福利在线观看| 日韩精品免费一区二区三区| 一级午夜免费视频| 在线观看亚洲人成网站| 在线jlzzjlzz免费播放| 99在线热播精品免费99热| 亚洲中文无码mv| 久久亚洲免费视频| 免费a级毛片在线观看|