Mybatis多查询条件语法有哪些
时间: 2023-10-02 21:06:54 浏览: 86
MyBatis 多查询条件语法主要有以下几种形式:
1. 在 Mapper.xml 文件中通过 `<where>` 标签来实现动态 SQL 查询,其中可以使用 `<if>` 标签来根据条件动态添加 SQL 语句,例如:
```xml
<select id="selectUser" resultType="User">
select * from user
<where>
<if test="id != null">and id = #{id}</if>
<if test="name != null">and name = #{name}</if>
<if test="age != null">and age = #{age}</if>
</where>
</select>
```
2. 使用 `<if>` 标签动态拼接 SQL 语句,例如:
```xml
<select id="selectUser" resultType="User">
select * from user
<if test="id != null">
where id = #{id}
<if test="name != null">and name = #{name}</if>
<if test="age != null">and age = #{age}</if>
</if>
<if test="id == null and name != null">
where name = #{name}
<if test="age != null">and age = #{age}</if>
</if>
<if test="id == null and name == null and age != null">
where age = #{age}
</if>
</select>
```
3. 使用注解方式动态拼接 SQL 语句,例如:
```java
@Select("select * from user where 1=1"
+ "<if test='id != null'> and id = #{id}</if>"
+ "<if test='name != null'> and name = #{name}</if>"
+ "<if test='age != null'> and age = #{age}</if>")
List<User> selectUser(Integer id, String name, Integer age);
```
以上是 MyBatis 多查询条件语法的几种常见形式,可以根据实际情况选择相应的方式。
阅读全文