java - 是否可以选择记录的所有值,而不必分别选择每个值?
问题描述
我需要选择记录的所有值。我了解到可以使用该DSL.val()
函数分别选择记录的每个值。假设我们有一个R
具有以下属性的记录:
name: String
, number: Int
. 分别选择记录的每个值如下所示:
R myRecord = new R()
ctx.select(val(myRecord.name), val(myRecord.number))
您可以猜到,当您有 15 个属性的记录时,这将变得非常乏味。
是否可以选择记录的所有值,而不必分别选择每个值?
我想象这样的事情:
ctx.select(myRecord)
解决方案
如果您不需要类型安全,那么您可以使用Record.valuesRow()
. fields()
:
ctx.select(myRecord.valuesRow().fields());
这将产生一个Select<Record>
,其列数对于编译器是未知的。如果您更喜欢从特定R
记录类型提供的额外类型安全中获利(我假设例如Record2<String, Integer>
),那么您可以使用values()
构造函数:
ctx.selectFrom(values(myRecord.valuesRow()));
推荐阅读
- c# - 如何在 DynamoDB 中存储 .Net MemorySteam 值?
- javascript - 我可以在 apollo 客户端的错误链接中调用 graphql 突变吗
- authorization - fastapi swagger 不发送带有 url 的令牌
- jmeter - 为不同的操作运行线程组
- rpa - 在 Intellibot Studio 中使用 readfromexcel 组件时出错
- python-2.7 - 在 python 2.7 中相互减去两个日期时间并返回 HH:MM:SS
- ionic4 - ionic 4 ng-true-value equivalence
- node.js - 如何在 Node js 中的异步和等待函数中创建对象?
- ios - 从 SwiftUI CoreData 视图返回计数
- java - 用于获取特定范围的已排序 ArrayList 中的计数的 Java 代码