mybatis动态SQL如何传参
时间: 2023-08-14 08:03:55 浏览: 174
Mybatis动态SQL可以通过使用参数注解或者Map来传递参数。下面是两种常用的传参方式:
1. 使用参数注解:
在mapper的方法中,可以使用`@Param`注解来指定参数的名称,然后在SQL语句中引用该参数名。例如:
```java
public interface UserMapper {
List<User> getUserList(@Param("name") String name, @Param("age") int age);
}
```
在XML配置文件中,可以使用`${}`占位符来引用参数,如下所示:
```xml
<select id="getUserList" resultType="User">
SELECT * FROM user WHERE name = #{name} AND age = #{age}
</select>
```
2. 使用Map传递参数:
在mapper的方法中,可以直接使用Map类型的参数,将多个参数封装到Map中。例如:
```java
public interface UserMapper {
List<User> getUserList(Map<String, Object> params);
}
```
在XML配置文件中,可以使用Map的key来引用参数,如下所示:
```xml
<select id="getUserList" resultType="User">
SELECT * FROM user WHERE name = #{name} AND age = #{age}
</select>
```
以上是常见的两种传参方式,你可以根据实际需求选择适合的方式来传递参数。
阅读全文