Java 在映射器XML中的SELECT语句中传递多个参数

Java 在映射器XML中的SELECT语句中传递多个参数,java,xml,spring,ibatis,mybatis,Java,Xml,Spring,Ibatis,Mybatis,我正在使用MyBatis&Spring框架。 我有一个DB表存储,它有一些字段。我需要使用表中的两个字段(比如Name&Id)从表中获取记录 select * from STORE where Name="Mels" & Id=123 我正在为表使用MAPPER接口。映射器XML包含查询 对于单参数查询,我可以使用以下内容 <select id="findAllSTOREByName" parameterType="java.lang.String" resultMap="co

我正在使用MyBatis&Spring框架。 我有一个DB表存储,它有一些字段。我需要使用表中的两个字段(比如Name&Id)从表中获取记录

select * from STORE where Name="Mels" & Id=123
我正在为表使用MAPPER接口。映射器XML包含查询

对于单参数查询,我可以使用以下内容

<select id="findAllSTOREByName"  parameterType="java.lang.String" resultMap="com.StoreObject">
select * from "STORE" where "NAME" = #{name}
</select>

现在,我如何使用两种不同的数据类型传递多个参数,如我前面提到的情况?

您必须使用一个类的对象,它可以存储您的数据名称和id, 这可以是hashmap或任何其他数据类

在调用select语句之前,将参数放入hashmap或任何其他数据类中,并在select use中使用值的名称,该值存储在hashmap的键字段或所用类的属性名称中

小片段:

    HashMap<String, Object> values = new HashMap<String, Object>();
    values.put("id", 123);
    values.put("name", "Mels");
…使用hashmap作为参数调用findAllStoreByName

将您的选择更改为以下内容:

    <select id="findAllSTOREByName"  parameterClass="hashmap"     resultMap="com.StoreObject">
        select * from "STORE" where NAME = #name# and id = #id#
    </select>
副本