hibernate中有四種引數繫結的方法:
1、按引數名稱繫結:
string hql="from emp emp where emp.empno=:命名引數名稱";
query q=session.createquery(hql);
q.set命名引數型別("命名引數名稱", 命名引數實際值);
2、按引數位置繫結:
string hql="from emp where empno=?";
query q=session.createquery(hql);
q.set命名引數型別(0, 命名引數實際值);
注:在實際開發中,提倡使用按名稱邦定命名引數,因為這不但可以提供非常好的程式可讀性,而且也提高了程式的易維護性,因為當查詢引數的位置發生改變時,按名稱邦定名引數的方式中是不需要調整程式**的。
3、setparameter()方法:
在hibernate的hql查詢中可以通過setparameter()方法繫結任意型別的引數
string hql="from emp emp where emp.empno=:命名引數名稱";
query q=session.createquery(hql);
q.setparameter("命名引數名稱",命名引數實際值,命名引數對映型別);
4、setproperties()方法
在hibernate中可以使用setproperties()方法,將命名引數與乙個物件的屬性值繫結在一起
customer customer = new customer();
customer.setempno("命名引數實際值");
query q=session.createquery(from emp emp where emp.empno=:命名引數名稱);
q.setproperties(customer);
hql語句進行引數繫結的兩種方式
使用引數繫結的好處 1.可讀性提高 2.效果高3.防止sql注入漏洞 引數繫結的兩種形式 以查詢年齡小於18歲的學生為例 引數以 冒號形式給出 listlist session.createquery from student where id i and age age setstring i 1...
Hibernate的HQL中in引數設定
平時經常用hibernate,由於習慣表間不建立關聯,所以hql查詢時候經常要用in語句。我最常用的情況有2種 1 in後是個子查詢,如 from a where a.id in select b.aid from b where 這樣是沒問題的,如果a.id 和b.aid是相同的資料型別。2 in...
springmvc的引數繫結
對於前端傳送的資料。我們如何接收呢?在傳統的servlet開發中使用httprequest.getp 方法來獲取,但是在springmvc中,我們將極大簡化這一任務,對於基本型別。我們只需要在請求處理方法中加入引數,與前端輸入的引數一致即可。public string zeze integer id...