有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Java Collections/Map以编程方式执行SQL查询

我有两张桌子,它们有一个共同点,如下所示:

表A(全文):

stringColum       doubleColumn
name a            1
name a            2
name b            5
name b            4
name b            1
name c            2
[...]

表B(表A中的stringColum中可能缺少一些值):

stringColum       doubleColumn
name b            10
name b            20
name b            30
name c            11
[...]

我怎样才能得到一个对象,它的值由doubleColumn求和,并按StringColumn分组,如下所示(我的意思是,对表A和表B执行此操作,以便在此之后比较它们)

表A(汇总/分组):

stringColum       doubleColumn
name a            3
name b            10
name c            2
[...]

表B(汇总/分组):

stringColum       doubleColumn
name b            60
name c            11
[...]

不使用SQL/JPQL来执行DB join/group,我如何才能像下面开始的那样对集合执行这一操作

List<UorPos> uorsList = uf.findAllUPB();
List<Treinamentos> treinamentosList = tf.findAll();

Map<String, Double> orcMap = new HashMap<>();
Map<String, Double> rlzMap = new HashMap<>();

for (UorPos u : uorsList) {
    orcMap.put(u.getNomeUorPos(), u.getOrc());
}

for (Treinamentos r : treinamentosList) {
    rlzMap.put(r.getDivisao(), r.getValorCurso());
}

上面的for循环只从表中获取第一对寄存器。例如。: for循环后的TableA resultList(类似于TableB resultList):

stringColum       doubleColumn
name a            1
name b            5
name c            2
[...]

如何获取所有值,然后按stringColumn分组求和

之后,我需要比较两个表中的stringColumn,用对'missingString Column','0'填充表B。例如:

表B(汇总/分组):

stringColum       doubleColumn
name a            0 // --> this pair of register will be inserted in TableB if a stringColum present in TableA doesn't exist in the Table B
name b            60
name c            11
[...]

提前谢谢


共 (0) 个答案