gpt4 book ai didi

java - 从 IBatis 获取 Map

转载 作者:行者123 更新时间:2023-11-29 05:49:52 24 4
gpt4 key购买 nike

我正在创建一个 ibatis 查询,它的结果应该是:

Map<String,CustomData>

我的 ibatis 查询:

<resultMap id="dataMap" class="java.util.HashMap">
<result property="key" column="UUID"/>
<result property="value" resultMap ="customData"/>
</resultMap>

<resultMap id="customData" class="com.model.CustomData">
<result property="x" column="X_COL"/>

</resultMap>

<select id="fetchData"
resultClass="java.util.HashMap"
parameterClass="java.util.Map">
SELECT
UUID AS UUID,
(CASE
WHEN SOME_DATA IS NOT NULL THEN 'TRUE'
END) AS X_COL
FROM TABLE
</select>

CustomData 是一个 java 类:

public class CustomData{
private String x;

//Getters & Setters

}

我希望在 Java 上获得以下内容:

Map<String,CustomData>

但是我得到以下信息:

Map<String,String>

任何想法!

最佳答案

您应该尝试将 select 标记中的 resultClass 属性替换为 resultMap"dataMap" 像这样的值:

<select id="fetchData"
resultMap="dataMap"
parameterClass="java.util.Map">
<!-- your query -->
</select>

在你的情况下,queryForList 方法尝试实例化一个 java.util.HashMap 而不是这个,它应该使用 dataMap 映射你定义如上。

关于java - 从 IBatis 获取 Map<String,CustomData>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14348887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com