mapper 动态查询语句
时间: 2023-10-17 14:06:56 浏览: 31
mapper 动态查询语句是指在 MyBatis 的 mapper 文件中,根据不同条件动态生成 SQL 查询语句。这样可以灵活适应不同的查询需求,提高 SQL 查询的效率。
下面是一个示例:
```xml
<select id="getUserList" parameterType="map" resultType="User">
SELECT * FROM user
<where>
<if test="name != null">
AND name = #{name}
</if>
<if test="age != null">
AND age = #{age}
</if>
<if test="gender != null">
AND gender = #{gender}
</if>
</where>
</select>
```
在这个示例中,`getUserList` 是查询的 ID,`parameterType` 指定了传入参数的类型,`resultType` 指定了查询结果的类型。`<where>` 标签中包含了若干个 `<if>` 标签,每个 `<if>` 标签都表示一个查询条件。如果该条件成立,则生成对应的 SQL 语句。
例如,当传入参数为 `{name: "Tom", age: 18}` 时,生成的 SQL 语句为:
```sql
SELECT * FROM user
WHERE name = 'Tom'
AND age = 18
```
这样就可以根据不同的查询条件生成不同的 SQL 语句,提高 SQL 查询的效率。