[英]Dynamic SQL select (MyBatis) return Map<String, Object>
我已經搜索了mybatis文檔和inet。 但是找不到解決方案。
我的目標是:從myBatis動態SQL中選擇返回是否
Map <Strinng (Data Base Column), Object (Database Value)> or
List<Object> (Database Values)
而不創建pojo作為數據庫表的表示。
它看起來應該像:
1)動態SQL:
<select id="selectRecords" parameterType="Entry" resultType="Map">
SELECT
<foreach item="column" index="index" collection="columns" separator=",">
${column}
</foreach>
from ${tableName}
</select>
2)我放入動態參數:
public class Entry {
private String tableName;
private String[] columns;
//constructor
//getters, setters
}
3)返回地圖的方法:
Map<String, Object> selectRecords(Entry entry);
教程中的第一個示例顯示了返回的簡單集合的示例。 在這里
<select id="selectPerson" parameterType="int" resultType="hashmap">
SELECT * FROM PERSON WHERE ID = #{id} </select>
該語句稱為selectPerson,采用int類型(或Integer類型)的參數,並返回一個HashMap,該HashMap由映射到行值的列名稱作為鍵。
在此哈希圖中,鍵值對是“列名”-“列的值”對。 不使用pojo。 您的示例代碼對我而言似乎是正確的,如果發現任何錯誤,則可以打印錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.