免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
hibernate setParameter() 動態(tài)參數(shù)綁定 條件查詢

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

其中參數(shù)綁定有兩種形式。

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

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

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

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

query.setString("customerName",name);

(2) 按參數(shù)位置綁定

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

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

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

query.setString(0 , name);

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

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

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


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


(2) setParameter()方法:綁定任意類型的參數(shù)
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() 方法:用于把參數(shù)名稱與一個對象的屬性值綁定,如:
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) ;
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
HQL查詢語言(面向?qū)ο蟮恼Z言,總結(jié)得好全)
Hibernate的hql語句查詢
hql語言條件查詢(三)
HQL知識
Java程序員從笨鳥到菜鳥之(六十四)細談Hibernate(十五)HQL與QBC查詢方式詳解
Hibernate HQL查詢解析
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服