小编var*_*man的帖子

在java中转换非结构化对象

我将 MongoDb 用于非结构化文档。当我进行聚合时,我将最终输出作为非结构化对象。为了方便起见,我发布了一些示例数据。实际对象有很多字段。例如:

[
    { _id : "1", type: "VIDEO", videoUrl : "youtube.com/java"},
    { _id : "2", type: "DOCUMENT", documentUrl : "someurl.com/spring-boot-pdf"},
    { _id : "3", type: "ASSESSMENT", marks : 78}
]
Run Code Online (Sandbox Code Playgroud)

上述对象类型的相应类是

@Data
public class Video{
    private String _id;
    private String type;
    private String videoUrl;
}

@Data
public class Document{
    private String _id;
    private String type;
    private String documentUrl;
}

@Data
public class Assessment{
    private String _id;
    private String type;
    private Integer marks;
}
Run Code Online (Sandbox Code Playgroud)

由于我无法指定转换器类,因此我将所有对象作为列表获取,Object.class其中所有对象都是通用类型。

List<Object> list …
Run Code Online (Sandbox Code Playgroud)

java spring-data spring-data-mongodb spring-boot

9
推荐指数
1
解决办法
187
查看次数

使用 Collection 框架计算价值的百分比

我有TrainingRequest列表,其中每个元素都有 List of Feedback

@Data
class TrainingRequest{
    @Transient
    List<Feedack> feedback;
}

@Data
class Feedback{
    String Q1;
    String Q2;
}
Run Code Online (Sandbox Code Playgroud)

我需要获得 Q1、Q2 的所有给定结果并计算每个值的百分比。

List<TrainingRequest> trainingList = Optional.ofNullable(trainingRequestList).orElseGet(Collections::emptyList)
                                    .stream().map(m -> {
                                        List<Feedback> feedback = findByTrainingRequestId(m.getId());
                                        m.setFeedback(feedback);  // assigning Feedack to TrainingRequest
                                        return m;
                                    }).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

平息所有反馈

List<Feedback> flatMap = trainingList.stream().flatMap(f -> f.getFeedback().stream()).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

为了计算 Q1 和 Q2 的每个值,我将其分组并获取计数。我需要获得计数的每个 Q1、Q2 值的百分比。

Map<String, Map<String, Long>> map = new TreeMap<>();

map.put("Q1", flatMap.stream().collect(Collectors.groupingBy(Feedback::getQ1, Collectors.counting())));
map.put("Q2", flatMap.stream().collect(Collectors.groupingBy(Feedback::getQ2, Collectors.counting())));
Run Code Online (Sandbox Code Playgroud)

当我使用时Collectors.counting(),它给出以下输出:

{
  "Q1": {
    "unsatisfied": 2, …
Run Code Online (Sandbox Code Playgroud)

java collections spring spring-boot java-stream

8
推荐指数
1
解决办法
441
查看次数

从 MySQL 中的 JSON 字符串中提取密钥

我的表包含 json 格式的字符串。我需要得到每个键的总和和平均值。

+----+------------------------------------------------------------------------------------+------------+
| id | json_data                                                                          | subject_id |
+----+------------------------------------------------------------------------------------+------------+
| 1  | {"id": "a", "value": "30"}, {"id": "b", "value": "20"}, {"id": "c", "value": "30"} | 1          |
+----+------------------------------------------------------------------------------------+------------+
| 2  | {"id": "a", "value": "40"}, {"id": "b", "value": "50"}, {"id": "c", "value": "60"} | 1          |
+----+------------------------------------------------------------------------------------+------------+
| 3  | {"id": "a", "value": "20"}                                                         | 1          |
+----+------------------------------------------------------------------------------------+------------+
Run Code Online (Sandbox Code Playgroud)

预期结果是

    {"id": "a", "sum": 90, "avg": 30},
    {"id": "b", "sum": 70, "avg": 35},
    {"id": "c", "sum": 120, "avg": 40} …
Run Code Online (Sandbox Code Playgroud)

mysql sql mysql-workbench

5
推荐指数
0
解决办法
215
查看次数

如何在 Bitbucket 中发布和控制版本

我想从存储在 Bitbucket 中的开发环境中发布我的项目。第一阶段项目的最终版本在服务器上运行,很少有开发人员在本地工作。现在我需要继续致力于该项目以添加新功能或发布新版本。我使用“ master ”分支来保存项目的所有文件。

从我的搜索:

多分支的优势

  • 只需一个存储库即可管理
  • 可以直接从该一个 repo 的分支之间进行比较(差异)
  • 您可以将这些分支中的任何一个从该存储库拉到可能需要它的任何其他下游存储库

我需要克隆我的项目以继续工作还是需要创建另一个分支来放置所有修改过的文件?不推送所有到“ master ”分支的原因是什么?

我的任何陈述是否不正确?

git version-control bitbucket

4
推荐指数
1
解决办法
7659
查看次数

如何在数据表中使用Rowspan

我正在使用 Spring Boot 和 MySQL。我有以下结构的数据。

在此处输入图片说明

我尝试将其显示为以下结构。我正在使用数据表数据表链接,我尝试以多种方式使用数据表和 javascript 的 api(s),但我无法做到。

很少有链接描述可以使用$('#datatable').DataTable({'rowsGroup': [0]}),但不起作用。我在 Java 中使用 map 实现。但如果我在前端做,我会感觉更好

在此处输入图片说明

  • 日期时间总是唯一的,每个日期时间总是有 6 条记录

  • 价值应该是 sum(value)/(distinct Datetime)

  • 如果在反馈中传递空值/空值,则仅忽略标题和反馈

我该如何解决这个问题?

javascript datatable jquery datatables

4
推荐指数
1
解决办法
4739
查看次数

在Spring Boot中发送响应的最佳实践

我正在春季启动中编写REST Api-s。我想确保我的代码对于使用swagger API开发工具(Swagger)的前端开发人员而言是可读的。例如

@GetMapping("/getOne")
    public ResponseEntity<?> getOne(@RequestParam String id) {
        try {
            return new ResponseEntity<Branch>(branchService.getOne(id), HttpStatus.OK);
        } catch (Exception e) {
            return new ResponseEntity<FindError>(new FindError(e.getMessage()), HttpStatus.BAD_REQUEST);
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果请求成功,则响应为Branch对象,如果失败,则响应为仅具有一个属性(message)的FindError对象。因此两者能否执行取决于响应。但是摇摇欲坠的UI并未显示应如何显示响应,因为我使用了“?” 作为通用类型。这是捕获错误的最佳实践吗?(此编码文档说明对前端开发人员没有用,因为它没有显示响应对象)。或针对上述问题的最佳做法?

有很多方法可以返回不同的对象,例如Branch。提前致谢

spring swagger swagger-ui spring-boot swagger-2.0

2
推荐指数
1
解决办法
1301
查看次数