MyBatis 查询参数包含集合和字符串,如何获取 HashMap 结果
可以使用 @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 中。
原文地址: https://www.cveoy.top/t/topic/lGuf 著作权归作者所有。请勿转载和采集!