mybatis 动态查询字段
时间: 2023-07-18 11:50:26 浏览: 92
MyBatis支持使用动态SQL构建动态查询字段。您可以使用`<choose>`、`<when>`和`<otherwise>`来构建动态SQL查询字段。
以下是一个示例代码:
```xml
<select id="findUsers" parameterType="User" resultType="User">
SELECT
<choose>
<when test="fields != null">
${fields}
</when>
<otherwise>
id, username, email
</otherwise>
</choose>
FROM
users
WHERE
1=1
<if test="id != null">
AND id = #{id}
</if>
<if test="username != null">
AND username = #{username}
</if>
<if test="email != null">
AND email = #{email}
</if>
</select>
```
在上述代码中,我们使用`<choose>`、`<when>`和`<otherwise>`来构建动态查询字段。如果`fields`参数不为null,则使用它作为字段列表。否则,使用默认的`id, username, email`字段列表。
注意,在使用动态查询字段时,您需要使用`${}`语法来将字段列表作为字符串插入到SQL语句中。这可能会导致SQL注入攻击,因此请确保您的输入参数是安全的。
另外,我们还可以在`<if>`语句中使用类似的语法来动态构建查询条件。
阅读全文