可用版本:开发版 (3.21) | 最新版 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

ResultQuery 作为 Iterable

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

org.jooq.ResultQuery 类型扩展了 java.lang.Iterable,因此继承了 JDK 的 Iterable.forEach() 方法,并且可以作为 foreach 循环的来源

// External iteration, fetching records eagerly
for (var r : create.select(BOOK.TITLE).from(BOOK))
    System.out.println(r.get(BOOK.TITLE));

// Internal iteration, fetching records lazily
create.select(BOOK.TITLE).from(BOOK).forEach(r -> {
    System.out.println(r.get(BOOK.TITLE));
});
请注意,与使用 org.jooq.Cursor API 进行延迟获取不同,外部迭代样式将急切地获取整个中间 org.jooq.Result 到内存中,因为 jOOQ 无法控制 java.util.Iterator 的生命周期,并且 JDK 不知道 java.lang.AutoCloseable 迭代器。

反馈

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

The jOOQ Logo