在jOOQ中是否有相当于pluck()的东西?

时间:2016-02-25 11:33:22

标签: java sql jdbc jooq

我今天刚刚发现了jOOQ,并决定尝试一下。只是想知道,有没有相当于Eloquent的采()。这样就不需要编写大量冗长的代码来获取单个值。例如在Eloquent(Laravel)中,我将简单地通过以下方式得到一个地方的名称:

    $name = DB::table('places')->where('iso_code', '=', $code)->pluck('name');

{{1}}

jOOQ中有相同的东西吗?

感谢。

1 个答案:

答案 0 :(得分:2)

从我如何理解pluck()(有趣的命名选择),我怀疑你想要做的是以下SQL:

SELECT name FROM places WHERE iso_code = ?

在jOOQ中,以下语句将执行相同的操作(使用代码生成器):

String name =
DSL.using(configuration)
   .select(PLACES.NAME)
   .from(PLACES)
   .where(PLACES.ISO_CODE.eq(code))
   .fetchOne(PLACES.NAME);

不使用代码生成器:

Field<String> field = DSL.field("name", String.class);

String name =
DSL.using(configuration)
   .select(field)
   .from("places")
   .where("iso_code = ?", code)
   .fetchOne(field);

所以,相当于Eloquent的pluck()是jOOQ&#39; s ResultQuery.fetchOne(Field)