【发布时间】:2016-10-10 12:52:20
【问题描述】:
例如,我想从数据库中加载数据,基于一些过滤器,将其转换(映射)到一些对象,限制数据并将其收集到一个列表中:
List<Person> people = new DbStream("PERSON").filter(...).limit(20l).map(...).collect(...);
我可以使用流 API(可能在后台看不到 JDBC)对 DB 执行此操作吗?怎么样?
* 我知道它绕过了 SQL 语言。只是想看看有没有办法......
【问题讨论】:
-
Speedment 可以帮助您:github.com/speedment/speedment
-
@assylias - jooq 似乎没有实现流 API。
-
@AlikElzin-kilaka 它可以返回您可以流式传输的集合。在 SQL 级别过滤/限制将比在 Java 级别更有效......取决于您所追求的。另请注意,jooq 有各种帮助方法将结果转换为流,例如 DSLContext.fetchStream()。
标签: java database jdbc java-8 java-stream