gpt4 book ai didi

java - 查询具有字段组合和语句的行

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:22:29 26 4
gpt4 key购买 nike

在数据库级别,我有一个表 product,它有两列:gtinma​​rket 以及其他列。

我想编写一个将转换为以下查询的 java 代码:

select * from product where (gtin, market) IN (('USA', 1), ('CA',2), ('PL', 3), ('CZ, 4))

java 代码级别,我有专门用于存储这两个 gtin 和市场值的特殊实体 GtinMarket:

GtinMarket {
String gtin;
String market;
}

在代码层面上,我希望是这样的:

using(configuration)
.select()
.from(table(PRODUCT_TABLE))
.where((field(GTIN, Long.class),field(MARKET, Long.class)).in(gtinMarketList))
.fetch()

经过一些调查,我无法找到编写此类代码的方法,

我真的很感激任何帮助,

谢谢,

最佳答案

使用 DSL.row(Field, Field) 对于类型安全的行值表达式构造:

using(configuration)
.select()
.from(table(PRODUCT_TABLE))
.where(row(field(GTIN, Long.class), field(MARKET, Long.class)).in(gtinMarketList))
.fetch()

这是假设您的 gtinMarketListCollection<? extends Row2<Long, Long>>正如相关 Row2.in() 所期望的那样方法。 in()方法有多个重载,因此您可以选择适合您的任何重载。

更多信息在这里: https://www.jooq.org/doc/latest/manual/sql-building/conditional-expressions/in-predicate-degree-n

关于java - 查询具有字段组合和语句的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52102262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com