来自 HashMap 的 MyBatis 参数

3 java mysql ibatis mybatis

在映射器界面中,我有:

ArrayList<Item> select(@Param("filterId")int filterId, @Param("filterData")HashMap<String,Object> filterData);
Run Code Online (Sandbox Code Playgroud)

在映射器 xml 中,我有:

 <select id="select" parameterType="map" resultMap="RM">
        SELECT ... 
        FROM ....
        WHERE id=#{filterData["id"]}
    </select>
Run Code Online (Sandbox Code Playgroud)

没有错误,但结果不符合预期(它返回空集,但我知道存在具有此类 ID 的项目)。#{filterData["id"]} 似乎不起作用。我的错误在哪里?

小智 5

我找到了答案:

 <select id="select" parameterType="map" resultMap="RM">
        SELECT ... 
        FROM ....
        WHERE id=#{filterData.id}
    </select>
Run Code Online (Sandbox Code Playgroud)