mybatis占位符为空
时间: 2023-09-30 07:06:33 浏览: 155
《Mybatis应用技术》复习资料.doc
如果使用 MyBatis 的 XML 映射文件,当占位符的值为空时,可以使用 `test` 属性来判断占位符是否为空,如下所示:
```xml
<select id="getUserByName" parameterType="String" resultMap="userMap">
SELECT * FROM user WHERE name =
<if test="username != null and username != ''">
#{username}
</if>
<if test="username == null or username == ''">
NULL
</if>
</select>
```
上面的示例中,我们使用了两个 if 标签来判断占位符的值是否为空,如果为空,则把 SQL 语句中对应的位置设置为 NULL。
如果使用注解方式,可以使用 `@Param` 注解来指定参数名称,在 SQL 语句中使用 `#{参数名}` 的方式来引用参数,判断是否为空可以使用 Java 代码中的判断逻辑。例如:
```java
@Select("SELECT * FROM user WHERE name = #{name == null || name.trim().length() == 0 ? 'NULL' : name}")
User getUserByName(@Param("name") String name);
```
上面的示例中,我们使用了三目运算符来判断参数值是否为空,如果为空则把 SQL 语句中对应的位置设置为 NULL。
阅读全文