可以使用 @Param 注解来指定参数名称,在 MyBatis 的 Mapper 中使用该参数名称来获取相应的参数值。然后可以使用 Map 类型的参数来接收查询结果。

假设有以下查询语句:

<select id="getUserList" resultType="java.util.HashMap">
    SELECT * FROM user WHERE id IN
    <foreach collection="ids" item="id" open="(" separator="," close=")">
        #{id}
    </foreach>
    OR name = #{name}
</select>

对应的 Java 代码如下:

public List<HashMap<String, Object>> getUserList(@Param("ids") List<Integer> ids, @Param("name") String name);

在调用该方法时,可以传入一个 List 类型的 ids 参数和一个 String 类型的 name 参数,然后将查询结果以 List<HashMap<String, Object>> 的形式返回。

注意:需要在配置文件中启用自动映射(autoMappingBehavior)才能将查询结果映射到 HashMap 中。

MyBatis 查询参数包含集合和字符串,如何获取 HashMap 结果

原文地址: https://www.cveoy.top/t/topic/lGuf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录