JDBC 查詢 Map轉物件

2021-06-27 00:13:46 字數 1447 閱讀 4781

雖然專案中都夾雜了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物件 進行基於家族姓氏的...