可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14

Kotlin BOOLEAN值表达式

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

BOOLEAN 列 (Field<Boolean>) 和条件表达式 (Condition) 实际上没有太大的区别,尤其是当方言支持标准 SQL BOOLEAN 类型时。

在 jOOQ 中,这两者通常可以互换使用,但也有一些例外情况,主要是在布尔运算符应与 (Field<Boolean>) 一起使用时

condition(BOOLEAN_COLUMN1).and(BOOLEAN_COLUMN2)

至少表达式的左侧必须用 DSL.condition(Field) 包裹,这很麻烦。

使用 kotlin 扩展模块,这些运算符也可直接在 Field<Boolean> 上使用

package org.jooq.kotlin

fun Field<Boolean>.and(other: Condition): Condition = condition(this).and(other)
fun Field<Boolean>.or(other: Condition): Condition = condition(this).or(other)
fun Field<Boolean>.not(): Condition = condition(this).not()

// [... and more]

这允许使用下面更简洁的版本

BOOLEAN_COLUMN1.and(BOOLEAN_COLUMN2)

反馈

您对此页面有任何反馈吗? 我们很乐意听到您的意见!

The jOOQ Logo