【问题标题】:How to transform a query result to an array in Java如何将查询结果转换为 Java 中的数组
【发布时间】:2015-11-23 16:01:29
【问题描述】:

我有这样的查询结果:

Date             Product   Quantity
01/01/2015       A         2
01/01/2015       B         3
02/01/2015       A         1
03/01/2015       B         4

日期和产品的长度可变。

我想实现如下结果数组:

[
['Date'     , 'Product A', 'Product B'],
[01/01/2015 ,      2      , 3],
[02/01/2015 ,      1      , 0],
[03/01/2015 ,      0      , 4],
]

我可以通过使用和算法来实现目标,但是,有没有像 guava 或 apache commons 这样的库来做这种工作?

提前致谢。

问候,

【问题讨论】:

  • 你能添加更多代码来看看你是如何得到这个结果的吗?类型等等?
  • 什么返回查询?如果是数据库中的数据?还是 tsv 中的文本?还是别的什么?
  • 你想返回什么值?如果是一个或多个数组(如图所示),您希望将其作为 Java 数组还是文本文件?
  • 为什么是数组?您将丢失数据的输入。

标签: java guava apache-commons


【解决方案1】:

有些库通常创建 bean 列表,而不是数组。

一个例子是Spring JDBC

这里是取自 spring jdbc 文档的示例:

List<Actor> actors = this.jdbcTemplate.query(
        "select first_name, last_name from t_actor",
        new RowMapper<Actor>() {
            public Actor mapRow(ResultSet rs, int rowNum) throws SQLException {
                Actor actor = new Actor();
                actor.setFirstName(rs.getString("first_name"));
                actor.setLastName(rs.getString("last_name"));
                return actor;
            }
        });

其中Actor 是对应于您的查询记录的bean。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 2021-11-19
    • 2020-12-23
    • 2020-08-22
    相关资源
    最近更新 更多