可以使用MyBatis的ResultMap来实现查询结果为HashMap的功能。以下是一个示例代码:

@Mapper
public interface MyMapper {

    @Select("SELECT a, b FROM my_table WHERE c IN (#{list})")
    @MapKey("a")
    Map<String, String> queryData(@Param("list") List<String> list);
}

在上述代码中,queryData方法接收一个参数list,参数类型为List<String>,表示查询条件中的集合参数。使用IN关键字可以将集合参数传递给SQL语句。@MapKey("a")注解表示以字段a作为HashMap的key。

在Mapper接口中使用@Mapper注解,表示该接口是MyBatis的Mapper接口。

然后在配置文件中配置ResultMap:

<resultMap id="resultMap" type="java.util.HashMap">
    <id property="a" column="a" />
    <result property="b" column="b" />
</resultMap>

在配置文件中,使用<resultMap>标签定义一个ResultMap,将查询结果的字段ab映射到HashMap的key和value。type属性指定了ResultMap的类型。

最后,在配置文件中配置Mapper接口和ResultMap的映射关系:

<mapper namespace="com.example.MyMapper">
    <select id="queryData" resultMap="resultMap">
        SELECT a, b FROM my_table WHERE c IN (#{list})
    </select>
</mapper>

在配置文件中,使用<mapper>标签指定了Mapper接口的命名空间,<select>标签指定了查询语句,并通过resultMap属性将查询结果映射到ResultMap。

这样,在调用queryData方法时,将会返回一个HashMap,其中key为字段a的值,value为字段b的值。

mybatis查询参数存在集合和String查出来一个hashMapkey为a字段value为b字段

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

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