请描述Mybatis如何在mapper中如何传递多个参数?
时间: 2024-03-01 18:55:56 浏览: 81
Mybatis中可以通过以下方式传递多个参数:
1. 使用Map来传递参数,Map中的key为参数名称,value为参数值。在Mapper映射文件中,可以使用#{key}的方式来获取参数值。
例如:
Java代码:
```java
Map<String, Object> map = new HashMap<>();
map.put("param1", value1);
map.put("param2", value2);
mapper.selectByMap(map);
```
Mapper映射文件中:
```xml
<select id="selectByMap" parameterType="map" resultType="...">
select * from table where column1 = #{param1} and column2 = #{param2}
</select>
```
2. 使用@Param注解来传递参数,@Param注解可以给参数起一个名称,Mapper映射文件中可以使用该名称来获取参数值。
例如:
Java代码:
```java
mapper.selectByParam(value1, value2);
```
Mapper映射文件中:
```xml
<select id="selectByParam" resultType="..." parameterType="...">
select * from table where column1 = #{param1} and column2 = #{param2}
</select>
```
注意:@Param注解只能用于传递简单类型的参数,如果需要传递复杂类型的参数,还需要使用Map或JavaBean等方式。
阅读全文