mybatis boolean 类型如何判空
时间: 2023-07-03 13:21:07 浏览: 236
在 MyBatis 中,如果要判断 boolean 类型的属性是否为空,可以使用以下方式:
1. 在 SQL 语句中使用 if 判断:
```xml
<select id="getUser" parameterType="int" resultType="User">
select * from user where id = #{id}
<if test="isVip != null and isVip"> and is_vip = #{isVip}</if>
</select>
```
这里的 `isVip` 是一个 boolean 类型的属性,如果它不为空且值为 true,就会拼接 `and is_vip = #{isVip}` 到 SQL 语句中。
2. 在 Java 代码中使用三目运算符:
```java
Boolean isVip = ...;
List<User> userList = userDao.getUserList(isVip == null ? null : isVip ? 1 : 0);
```
这里的 `getUserList` 方法接收的参数是一个 Integer 类型的值,0 表示 false,1 表示 true,如果 `isVip` 不为空,就根据它的值来转换成对应的 Integer 值。在 SQL 语句中,可以直接使用这个 Integer 值来判断。
需要注意的是,在 MyBatis 中,如果一个 boolean 类型的属性为 null,它会被默认转换成 false,因此需要显式地判断是否为 null。
阅读全文