如果我的查询结果在带有原始值的单列中,是否有一种方法可以用jooq来获取它们,从而避免使用原始值装箱?
例如,从表中的每本书中获取页数作为int []。
int[] pageCounts = dsl.select(BOOK.PAGE_COUNT)
.from(BOOK)
.fetch();
jOOQ大量使用泛型,这意味着在jOOQ的内部结构中,即使jOOQ可能将结果以a形式公开给您,装箱也是不可避免的int[]
。
您将必须直接使用JDBC运行查询(您仍然可以使用jOOQ来构建查询)以执行所需的操作。例如
// Use some third party primitive int buffer
var buffer = new IntArrayList();
try (
Cursor<?> cursor = dsl.select(BOOK.PAGE_COUNT).from(BOOK).fetchLazy();
ResultSet rs = cursor.resultSet();
) {
while (rs.next())
buffer.add(rs.getInt(1));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句