簡體   English   中英

動態SQL選擇(MyBatis)返回映射<String, Object>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM