Hibernate實現模糊查詢的方法

2021-08-26 22:02:58 字數 2203 閱讀 1319

大家都知道使用本地sql進行模糊查詢用關鍵字 like 對於在hibernate裡怎麼實現呢?

一、繫結引數法:

sql**

session session=hibernateutil.getsessionfactory

().getcurrentsession();

session.begintransaction();

string strsql="from classes as a where a.classno like :name";

query query = session.createquery(strsql);

query.setstring("name", "%"+oid+"%");

list result=query.list();

session session=hibernateutil.getsessionfactory ().getcurrentsession(); session.begintransaction(); string strsql="from classes as a where a.classno like :name"; query query = session.createquery(strsql); query.setstring("name", "%"+oid+"%"); list result=query.list();

二、在物件導向的查詢語言 hql 中

sql**

session session = hibernateutil.getsessionfactory().getcurrentsession();

session.begintransaction();

list result=session.createquery("from classes as a where a.classno

like

" '%"+oid+"%'").list();

session session = hibernateutil.getsessionfactory().getcurrentsession(); session.begintransaction(); list result=session.createquery("from classes as a where a.classno like " '%"+oid+"%'").list();

三、模糊查詢引數化

sql**

session session=hibernateutil.getsessionfactory().getcurrentsession();

session.begintransaction();

list result=session.createquery("from classes as a where a.classno

like :name

").setparameter("pid",oid).list();

session session=hibernateutil.getsessionfactory().getcurrentsession(); session.begintransaction(); list result=session.createquery("from classes as a where a.classno like :name").setparameter("pid",oid).list();

hibernate模糊查詢引數化的問題

from project o where 1=1 and o.isdeleted=? and o.prjname like ?; query.setstring(i, "%"+實際查詢條件+"%"); 注意引數中第乙個百分號的左邊與第二個百分號的右邊都沒有單引號,這和平時寫sql語句是不同的,要特別關注一下。另外還應該了解一下倆點的區別

hql:from project o where 1=1 and prj_name like '%strcond%';//這裡prj_name 應該是資料庫表中的實際欄位名

hql:from project o where 1=1 and o.prj_name like '%strcond%';//這裡prj_name 應該是實體類的屬性名

hql:from project o where 1=1 and prj_name like '?';//這裡的?不視為佔位引數hql:from project o where 1=1 and prj_name like ?;//設定引數值時會自動在引數值兩邊加上單引號。

Hibernate實現模糊查詢

大家都知道使用本地sql進行模糊查詢用關鍵字 like 對於在hibernate裡怎麼實現呢?js 空格。sql session session hibernateutil.getsessionfactory getcurrentsession session.begintransaction st...

Hibernate模糊查詢

hibernate模糊查詢 和sql查詢一樣,hibernate,hql使用like關鍵字進行模糊查詢。模糊查詢能夠比較字串是否與指定的字串模式匹配。其中使用萬用字元表示 如下 百分號 匹配任意型別 任意長度的字串,中文則需要兩個百分號 下劃線 匹配單個任意字元,一般用來限制字串表示式的長度。下面舉...

Hibernate實現模糊查詢的方法

大家都知道使用本地sql進行模糊查詢用關鍵字 like 對於在hibernate裡怎麼實現呢?一 繫結引數法 sql session session hibernateutil.getsessionfactory getcurrentsession session.begintransaction ...