在我們公司的專案中,**過於老舊,hibernate返回的結果是陣列而不是map或者資料表物件。
這會導致乙個問題,我們需要通過資料得下標獲取資料,我覺得這很不便於維護,資料量過多的時候,過多的下標容易導致各種問題。
我的目標是hibernate返回乙個map,我可以通過key進行獲取資料,或者呢,直接把map轉成物件,這樣子更健壯一些
**:
/**
* 分頁查詢,返回結果為map
* @param pagedata 分頁物件
* @param originalsql 原始的查詢sql
* @param needcount 是否需要計數
* @return
*/@suppresswarnings("unchecked")
private pagedata> listpagebysql(pagedata> pagedata, string originalsql, boolean needcount)
if (needcount && pagedata.gettotalcount() == 0 )
} else
// 設定返回結果為map,而不是object
sqlquery query = getsession().createsqlquery(originalsql);
query.setresulttransformer(transformers.alias_to_entity_map);
// 設定頁碼
query.setfirstresult((pagedata.getpageno()-1)*pagedata.getpagesize());
query.setmaxresults(pagedata.getpagesize());
// 查詢結果
list> resultlist = query.list();
pagedata.setresult(resultlist);
return pagedata;
}
Map返回型別
當乙個方法想要返回不止乙個引數時,可以定義map型別做返回型別,具體 例子如下 public maptestmethod listquestions renum questions.size questions1.size map.put questionlist questions1 map.pu...
python mysqldb 查詢返回字典結構
mysqldb預設查詢結果都是返回tuple,輸出時候不是很方便,必須按照0,1這樣讀取,無意中在網上找到簡單的修改方法,就是傳遞乙個cursors.dictcursor就行。預設程式 import mysqldb db mysqldb.connect host localhost user roo...
判斷ExecuteScalar 是否返回結果
executescalar 返回的是首行首列的值,一般用於執行這類查詢 select count from table 返回的型別是 object,如果資料庫中沒有任何記錄時,如何判斷呢?以下是方案 其一 呼叫convert的isdbnull來判斷 object objresult tempcmd....