hql 條件查詢 返回空的一種情況

2022-02-10 03:44:03 字數 1552 閱讀 8941

為何會出現查詢為空,但是查詢整個表沒問題的情況呢?

這裡是沒有分清字串和變數 

原來寫的是,

string hql = "

from clientinfomodel where clientip=?";

query query =session.createquery(hql);

query.setstring(

0, 「cip」);

list

allcientinfo = query.list();

改正後的

string hql = "from clientinfomodel where clientip=?";

query query =session.createquery(hql);

query.setstring(0, cip);

list

allcientinfo = query.list();

正確的參考

1

、 第一種,用?佔位符,如:

//登入(用?佔位符)

public listloginuser(userpo up)throws exception

2、用「:+命名」佔位符,如:

//登入(用":命名"佔位符)

public listloginuser2(userpo up)throws exception

2.1、使用這種佔位符還可以這樣設值,如: //

登入(用":命名"佔位符,用setparameter設值)

public listloginuser3(userpo up)throws exception

使用這種方式不需要寫明對映的型別,hibernate會通過配置自動給我們轉,但是由於hibernate有兩種日期格式:date和timestamp,所以對於日期型別必須寫明對映的型別。寫法: 3

、按照物件進行引數繫結,如:

//登入(用":命名"佔位符,用setproperties設值,命名引數必須要與被繫結的屬性名相同)

public listloginuser4(userpo up)throws exception

4、使用條件查詢(criteria),如: //

登入(用條件查詢 criteria)完全脫離sql語句和hql語句

public listloginuser5(userpo up)throws exception

5、離線條件查詢,如:

//登入(用離線條件查詢 detachedcriteria)

public listloginuser6(userpo up)throws exception

使用離線可以將其寫在業務層,以引數的形式傳入,以減少dao的**。

6、分頁查詢:分頁查詢是資料庫應用中的處理方式,query和criteria介面都提供了用於分頁查詢的方法:

1) setfirstresult(int

):指定從哪乙個物件開始查詢,引數是索引位置,從0開始。

2) setmaxresult(int):指定一次最多查詢的物件數量。

socket recv 函式返回0的一種情況

假設使用socket基於tcp通訊協議進行c s通訊程式設計,客服端已經成功與服務端建立tcp連線,並且可以正常進行收發資料。當一段時間後,服務端的程式如果呼叫closesocket sclient wsacleanup 函式關閉socket,那麼客戶端的recv 將會返回0 如果服務端沒有呼叫cl...

sql 多條件查詢的一種簡單的方法

以後我們做多條件查詢,一種是排列結合,另一種是動態拼接sql 如 我們要有兩個條件,乙個日期 adddate,乙個是 name 第一種寫法是 if adddate is not null and name select from table where adddate adddate and nam...

sql 多條件查詢的一種簡單的方法

以後我們做多條件查詢,一種是排列結合,另一種是動態拼接sql 如 我們要有兩個條件,乙個日期 adddate,乙個是 name 第一種寫法是 if adddate is not null and name select from table where adddate adddate and nam...