mybatis 多条件查询
时间: 2023-08-13 16:12:14 浏览: 221
在 MyBatis 中进行多条件查询可以使用动态 SQL 来实现。以下是一种常见的方法:
1. 在 Mapper 接口中定义一个方法,该方法接受多个参数作为查询条件。
```java
List<YourEntity> findByConditions(@Param("param1") String param1, @Param("param2") String param2, ...);
```
2. 在对应的 Mapper XML 文件中编写动态 SQL。使用 `<where>` 元素来包裹条件,它会根据条件的存在与否自动添加 WHERE 关键字。
```xml
<select id="findByConditions" resultMap="yourEntityResultMap">
SELECT * FROM your_table
<where>
<if test="param1 != null">
AND column1 = #{param1}
</if>
<if test="param2 != null">
AND column2 = #{param2}
</if>
<!-- 添加更多条件 -->
</where>
</select>
```
3. 使用 MyBatis 提供的参数注解 `@Param` 来将传入的参数与 XML 中的参数进行映射。
```java
List<YourEntity> findByConditions(@Param("param1") String param1, @Param("param2") String param2, ...);
```
这样就可以根据传入的参数动态生成条件,进行多条件查询了。需要注意的是,如果某个条件为 null,则不会添加对应的查询条件。
阅读全文