mybatis sql 怎么传入多个参数
时间: 2023-09-02 08:12:27 浏览: 95
在 MyBatis 中,可以通过以下方式传入多个参数:
1. 使用 `@Param` 注解为每个参数命名,然后在 SQL 语句中使用 `${paramName}` 占位符来引用参数。例如:
```java
@Select("SELECT * FROM user WHERE name = #{name} AND age = #{age}")
User getUserByNameAndAge(@Param("name") String name, @Param("age") int age);
```
2. 直接将参数封装为一个 Map 对象,然后在 SQL 语句中使用 `${key}` 占位符来引用参数。例如:
```java
Map<String, Object> params = new HashMap<>();
params.put("name", "张三");
params.put("age", 20);
User user = sqlSession.selectOne("getUserByNameAndAge", params);
```
SQL 语句:
```xml
<select id="getUserByNameAndAge" resultType="User">
SELECT * FROM user WHERE name = #{name} AND age = #{age}
</select>
```
3. 将多个参数封装为一个 JavaBean 对象,然后在 SQL 语句中使用 `#{propertyName}` 占位符来引用属性。例如:
```java
UserQuery query = new UserQuery();
query.setName("张三");
query.setAge(20);
User user = sqlSession.selectOne("getUserByQuery", query);
```
SQL 语句:
```xml
<select id="getUserByQuery" resultType="User">
SELECT * FROM user WHERE name = #{name} AND age = #{age}
</select>
```
以上三种方式都可以传入多个参数,具体使用哪种方式取决于你的需求和习惯。
阅读全文