雖然專案中都夾雜了hibernate的支援,但是團隊開發中,很多人為了編寫特殊查詢的**時都使用了jdbc進行查詢。jdbc查詢後返回的是乙個list集合,list中組裝的是map,乙個map就是乙個對應的物件。但是介面不能直接返回map,都是返回的物件,以方便自己和其他人使用,為了轉換這個map,往往寫這樣的**:
@suppresswarnings("unchecked")
public static ms_mont analyzemaptoms_mont(map map)
很麻煩,很多,很枯燥。
為了解決這個問題,我列出乙個解決方法,寫乙個方法,傳入要賦值的物件和map,然後根據列的屬性名稱從map中獲得響應的值,然後賦值給這個物件的屬性。
例如,這裡寫了乙個簡單的查詢:
public cm_line getobjectbean(int lineno) ;
list rows = jdbctemplate.queryforlist( sql, obj );
if(null != rows && rows.size() > 0) else
} catch (exception e)
return null;
}
然後我們呼叫了他的analyzemap方法,這個方法把當前物件當作要賦值的物件,然後呼叫公用方法進行組裝:
public object analyzemap(mappara)
公用方法:
public synchronized static void setvaltoobj(object entityname, mappara) catch (exception e)
}} catch (exception e)
}
下面就有人說了,那根據物件獲得這個物件的map怎麼搞,這個之前已經寫過了,不這裡仍然把**放一下:
/**
* 返回乙個物件的屬性和屬性值
*/
public synchronized static linkedhashmapgetproandvalmap(object entityname)
} catch (exception e)
return map;
}/**
* 獲得物件屬性的值
*/private synchronized static object invokemethod(object owner, string methodname,
object args) throws exception catch (exception e)
return method.invoke(owner);
}
請您到iteye**看原創,謝謝!
!
JDBC 查詢 Map轉物件
雖然專案中都夾雜了hibernate的支援,但是團隊開發中,很多人為了編寫特殊查詢的 時都使用了jdbc進行查詢。jdbc查詢後返回的是乙個list集合,list中組裝的是map,乙個map就是乙個對應的物件。但是介面不能直接返回map,都是返回的物件,以方便自己和其他人使用,為了轉換這個map,往...
map物件建立家族姓氏查詢
題目 定義乙個map物件,其元素的鍵是家族姓氏,而值是儲存該家族孩子名字的vector物件。為這個map容器輸入至少六個條目。通過基於家族姓氏的查詢檢測你的程式,查詢應輸出該家族所有孩子的名字。1 定義乙個map物件,其元素的鍵是家族姓氏2 而值則是儲存該家族孩子名字的vector物件3 進行基於家...
map物件建立家族姓氏查詢
題目 定義乙個map物件,其元素的鍵是家族姓氏,而值是儲存該家族孩子名字的vector物件。為這個map容器輸入至少六個條目。通過基於家族姓氏的查詢檢測你的程式,查詢應輸出該家族所有孩子的名字。定義乙個map物件,其元素的鍵是家族姓氏 而值則是儲存該家族孩子名字的vector物件 進行基於家族姓氏的...