我正在使用MyBatis& Spring框架。 我有一个DB Table STORE,它有一些字段。我需要使用表格中的2个字段从表格中获取记录,比如Name&同上
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种不同的数据类型?
答案 0 :(得分:1)
你必须使用一个类的对象,它可以存储你的数据(name&amp; id), 这可以是一个hashmap或任何其他数据类。
在调用select语句之前,将参数放入hashmap或任何其他数据类中,然后在select中使用你的值的名称(它存储在hashmap的key字段或者名称中)使用过的类的属性)
小片段:
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>