我们只是切换到使用 JOOQ 代替标准 DAO 和直接 SQL,我正在尝试将此 SQL 转换为 JOOQ 上下文:
products 在 MySQL 5.6 中被定义为 INT(4) 字段。
SELECT DISTINCT f1
FROM table_A WHERE
(f1 IS NOT NULL)
AND (products & 255)
AND (age <= 180)
AND (flag < 1)
ORDER BY f1;
JOOQ 版本:
context.selectDistinct(TABLE_A.F1).from(TABLE_A).where(TABLE_A.F1.isNotNull())
.and(TABLE_A.flag.lessthan(UInteger.valueof(1))
.and(TABLE_A.age.lessthan(UInteger.valueof(180))
.orderBy(TABLE_A.f1);
我似乎无法弄清楚如何进行 (products & 255) 位运算。