乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      hibernate setParameter() 動態(tài)參數綁定 條件查詢

       一本正經地胡鬧 2019-10-09

      hibernate中對動態(tài)參數的綁定提供了豐富的支持。

      其中參數綁定有兩種形式。

      (1)按參數的名字進行綁定

      在hql查詢語句中定義命名參數,以“ :”開頭,形式如下:

      Query query =session.createQuery(" from Customer as c where c.name =:customerName");

      上面的HQL語句定義了“customerName”命名參數,接下來調用Query的setXXX()方法來綁定參數.

      query.setString("customerName",name);

      (2) 按參數位置綁定

      在HQL查詢語句中 用“?”來定義參數的位置,形式如下:

      Query query =session.createQuery(" from Customer as c where c.name =?");

      上面的HQL語句 定義了一個參數,參數的第一個位置為0,接下來調用Query的setXXX()方法來綁定參數.

      query.setString(0 , name);

      優(yōu)先考慮按名字綁定的方式。

      • 使得程序有較好的可讀性

      • 有利于程序代碼的維護。按位置綁定方式,如果有多個參數在HQL語句中位置改變了,則必須改變綁定參數的代碼,消弱了程序代碼的健壯性和可維護性。


      Hibernate提供了3個特殊的參數綁定方法。
      (1)setEntity()方法 : 把參數與一個持久化類的實例綁定。例如:以下setEntity()方法把“customer”命名參數與一個Customer對象綁定
      session.createQuery("from Order o where o.customer = :customer")
      .setEntity("customer",customer).list();


      (2) setParameter()方法:綁定任意類型的參數
      Query query = session.createQuery( " from Order o where o.id=:id and o.orderNumber like :orderNumber");
      query.setParameter(" id" , 1);
      //   query.setParameter(" orderNumber",orderNumber,Hibernate.STRING);  //hibernate 3.0的寫法。
      query.setParameter(" orderNumber",orderNumber, StringType.INSTANCE); //hibernate 4.2的寫法

      (3)setProperties() 方法:用于把參數名稱與一個對象的屬性值綁定,如:
      Customer c=new Customer();
      c.setName("Tom"); 
      c.setAge(20);
      Query query =session.createQuery(" from Customer as c where c.name = : name and c.age = :age")
      query.setProperties(c) ;

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多