0

我正在使用 MyBatis 和 Spring 框架。我有一个 DB Table STORE,它有一些字段。我需要使用表中的 2 个字段(例如名称和 ID)从表中获取记录。

select * from STORE where Name="Mels" & Id=123

我正在为表使用 MAPPER 接口。MAPPER XML 包含查询。

对于单个参数查询,我可以使用以下..

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

现在,我如何像前面提到的情况一样使用 2 个不同的 DataType 传递多个参数?

4

1 回答 1

1

您必须使用可以存储您的数据(名称和 ID)的类的对象,这可以是哈希图或任何其他数据类。


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

小片段:

    HashMap<String, Object> values = new HashMap<String, Object>();
    values.put("id", 123);
    values.put("name", "Mels");

...调用 findAllStoreByName 并将哈希图作为参数

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

    <select id="findAllSTOREByName"  parameterClass="hashmap"     resultMap="com.StoreObject">
        select * from "STORE" where NAME = #name# and id = #id#
    </select>
于 2012-11-26T12:25:40.967 回答