java - Spring中,jdbcTemplate的queryForList函数作为对象返回导致NumberFormatException

标签 java spring jdbc

我正在使用 Spring JDBCTemplate,如下所示,

List<Map<String, Object>> ordersList = new ArrayList<Map<String,Object>>();

String sql = "SELECT aa.Barcode, aa.ItemName, aa.Quantity AS Qty\n" +
                    "FROM\n" +
                    "(SELECT Barcode, ItemName, Quantity\n" +
                    "FROM PurchaseDetails\n" +
                    "UNION\n" +
                    "SELECT Barcode, ItemName, Quantity\n" +
                    "FROM BarcodePrinting) aa";
System.out.println(sql);

jdbcTemplate = new JdbcTemplate(dataSource);
ordersList = jdbcTemplate.queryForList(sql);

System.out.println("ordersList= "+ordersList.toString());

在上述代码的结果中系统打印为,

SELECT aa.Barcode, aa.ItemName, aa.Quantity AS Qty
FROM
(SELECT Barcode, ItemName, Quantity
FROM PurchaseDetails
UNION
SELECT Barcode, ItemName, Quantity
FROM BarcodePrinting) aa
ordersList= [{Barcode=8901030627330, ItemName=Lux Soft Touch, Qty=[B@72d4ef0c}, {Barcode=8901396393511, ItemName=Dettol org, Qty=[B@799a37b9}]

因此,插入 Integer Return 它返回为

[B@72d4ef0c

但是之前,我在数据库中尝试过这个查询,它按预期返回正确的数字。

请帮助我。

最佳答案

[B@72d4ef0c

表示它是一个字节数组。尝试按如下方式更改 SQL

String sql = "SELECT aa.Barcode, aa.ItemName, SUM(aa.Quantity) AS Qty\n" +
                    "FROM\n" +
                    "(SELECT Barcode, ItemName, Quantity\n" +
                    "FROM PurchaseDetails\n" +
                    "UNION\n" +
                    "SELECT Barcode, ItemName, Quantity\n" +
                    "FROM BarcodePrinting) aa\n " +
                    "GROUP BY aa.Barcode, aa.ItemName";

关于java - Spring中,jdbcTemplate的queryForList函数作为对象返回导致NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48678057/

相关文章:

Java 小程序方法

java - 如何在Hibernate hbm文件中映射2个相同的表?

java - 在 Spring 中动态更改 Bean 引用

java - 使用 AOP 避免从存储库返回 null 是一个好习惯吗

java - 如果Java生产代码中不存在,则创建数据库表并在JUnit中确认

java - 执行 Java 代码将 DB 表数据导出到 Excel 工作表 (.xlsx) 时内存不足

java - 正则表达式、字符串操作

java - 为什么EJB为null?

spring - 根据 Docker 化和链接的 ActiveMQ 对 Docker 化的 Spring Boot 应用程序进行身份验证

postgresql - 如何让 PostgreSQL DBLink 连接与 JDBC 一起工作?