java如何使用Spring Jdbc从查询中获取List<Object[]>
我使用Spring Jdbc进行查询。我需要从数据库中执行select,但我不知道表中有多少列可以从resultset中获得结果(例如,对于RowMapper
)。我想要List<Object[]>
。可能吗?在不知道数据库中的列数的情况下,如何获取数据
你可以在下面搜索框中键入要查询的问题!
我使用Spring Jdbc进行查询。我需要从数据库中执行select,但我不知道表中有多少列可以从resultset中获得结果(例如,对于RowMapper
)。我想要List<Object[]>
。可能吗?在不知道数据库中的列数的情况下,如何获取数据
# 1 楼答案
如果手头有
ResultSet
,可以使用元数据查看结果:然后,您可以使用
metaData.getColumnCount()
获得列计数,并使用以下各种方法查看特定的列:# 2 楼答案
如果你想要一份清单作为结果,你肯定应该质疑你的概念方法,你试图实现什么。 问问自己,你是否真的不能或不想提前知道你将收到哪些列,以及你将如何处理这些未知类型的列? 如果您有静态模型类,这些静态类型的字段可以整齐地映射到您的结果集,那么您的生活就会变得更轻松;如果这样做,甚至可以跳过jdbc alltoghter,让Spring数据处理所有查询和结果集映射
但如果这真的不是您的选项,那么至少不要将结果行映射到对象数组,而是映射到简单的JSON对象或映射,除非您不太关心哪个值属于哪个列