我使用RowMapper将数据库表映射到java对象。
我的请求如下所示
SELECT SUM(quantity) FROM table1 t1
WHERE t1.x = 723834 AND t1.y = 0
UNION ALL
SELECT SUM(quantity2) FROM table t2
WHERE t2.x = 723834 AND t2.y > 0
UNION ALL
SELECT nombre FROM table3
WHERE rownum=1 当我查看GUI上的查询结果时,如下所示:
SUM(quantity)
20
4
30我的RowMapper的实现类似于:
public Transit mapRow(ResultSet rs, int rowNum) throws SQLException {
Double ql=rs.getDouble(1);
rs.next();
Double qe=rs.getDouble(1);
rs.next();
return Transit.builder().qteLivree(ql).qteExpediee(qe)
.nombreJoursOuvrables(rs.getInt(1))
.build();
}另外,我还想知道是否还有其他方法可以通过没有接收到好的值而不使用rs.next()来检索
发布于 2018-08-30 21:10:33
RowMapper (如其名称所示)应该映射ResultSet的一个行,而Spring负责为每个返回的行对它进行映射。由于您希望在单个transform对象中转换结果集的几行,所以应该使用ResultSetExtractor。
https://stackoverflow.com/questions/52104592
复制相似问题