mybatis if标签 判断 stockStatus等于字符串1
时间: 2024-03-23 14:40:03 浏览: 71
在 MyBatis 中,可以使用 `<if>` 标签来动态拼接 SQL 语句。要判断 `stockStatus` 是否等于字符串 `"1"`,可以使用以下方式:
```xml
<!-- 使用 <if> 标签判断 stockStatus 是否等于字符串 "1" -->
<select id="selectByStockStatus" parameterType="map" resultType="...">
SELECT * FROM table_name a1
WHERE 1=1
<if test="stockStatus != null and stockStatus == '1'">
AND a1.stock_status = '1'
</if>
<if test="stockStatus != null and stockStatus == '2'">
AND a1.stock_status IN ('2', '3')
</if>
</select>
```
在这个例子中,我们通过 `<if>` 标签来动态拼接 SQL 语句。其中,`<if>` 标签的 `test` 属性用于判断是否需要拼接该段 SQL 语句。如果 `stockStatus` 等于字符串 `"1"`,则会拼接 `AND a1.stock_status = '1'` 到 SQL 语句中;如果 `stockStatus` 等于字符串 `"2"`,则会拼接 `AND a1.stock_status IN ('2', '3')` 到 SQL 语句中。注意,在使用 `<if>` 标签时,需要使用 `${}` 语法来引用变量,而不能使用 `#{}` 语法。同时,也需要注意避免 SQL 注入的问题。
阅读全文