hibernate返回map結果

2022-01-17 07:08:22 字數 1017 閱讀 3275

在我們公司的專案中,**過於老舊,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....