나는 그것이 작동하도록하는 방법을 알아 냈습니다. 그것이 올바른 방법인지 나는 확신하지 못한다. XML에서
은 내가 QueryBuilder 클래스에서 전달되는 다음 항목
<select id="readSignals" resultType="map">
${query}
</select>
$ {조회}하게하고 resultType은 "지도"로 설정되어 있습니다. 이로 인해 myBatis는 목록의 각 Map이 행인 곳을 반환합니다. String에는 열 이름이 들어 있고 Object에는 데이터가 들어 있습니다.
다음 코드를 사용하여 List> JSON으로 변환합니다.
public static JSONObject convertToJSON(List<Map<String, Object>> queryData) {
JSONObject queryJSONOutput = new JSONObject();
JSONArray outputArray = new JSONArray();
queryData.stream().forEach(d -> {
JSONObject jsonObject = new JSONObject();
for (String key: d.keySet()) {
jsonObject.put(key, d.get(key));
}
outputArray.put(jsonObject);
});
queryJSONOutput.put("data", outputArray);
return queryJSONOutput;
}