mybatis的xml中if test 判断包含字符串
时间: 2023-12-01 18:03:15 浏览: 242
mybatis 映射文件中if标签判断字符串相等的两种方式
在 MyBatis 的 XML 文件中,可以使用 `<if>` 标签来进行条件判断。要判断一个字符串是否包含另一个字符串,可以使用 Java 中的 `String` 类的 `contains()` 方法。具体来说,可以使用以下代码:
```xml
<select id="selectByKeyword" parameterType="string" resultType="...">
SELECT * FROM my_table
<where>
<if test="keyword != null and keyword != ''">
AND column_name LIKE CONCAT('%', #{keyword}, '%')
</if>
</where>
</select>
```
在上面的代码中,`#{keyword}` 是传入的参数,`column_name` 是需要判断的字段名。使用 `<where>` 标签可以避免在不需要条件的情况下出现多余的 `AND` 关键字。在 `<if>` 标签中,使用 `test` 属性来判断字符串是否包含,即:
```xml
<if test="keyword != null and keyword != ''">
```
这个条件会判断传入的参数 `keyword` 是否为非空字符串,如果是,则执行 SQL 语句中的条件判断。如果不是,则不执行条件判断,直接跳过。
在判断字符串是否包含时,也可以使用其他的方法或函数,根据具体的需求来选择。
阅读全文