[ISSUE #67] Fix HealthCheckResultMapper which leads to application error
diff --git a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/mapper/health/HealthCheckResultMapper.java b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/mapper/health/HealthCheckResultMapper.java
index 01930c5..519605b 100644
--- a/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/mapper/health/HealthCheckResultMapper.java
+++ b/eventmesh-dashboard-console/src/main/java/org/apache/eventmesh/dashboard/console/mapper/health/HealthCheckResultMapper.java
@@ -58,11 +58,18 @@
@Insert({
"<script>",
- " INSERT INTO health_check_result(type, type_id, cluster_id, state, result_desc) VALUES ",
- " <foreach collection='list' item='healthCheckResultEntity' index='index' separator=','>",
- " (#{healthCheckResultEntity.type}, #{healthCheckResultEntity.typeId}, #{healthCheckResultEntity.clusterId},",
- " #{healthCheckResultEntity.state}, #{healthCheckResultEntity.resultDesc})",
- " </foreach>",
+ " <choose>",
+ " <when test='list.size() > 0'>",
+ " INSERT INTO health_check_result(type, type_id, cluster_id, state, result_desc) VALUES ",
+ " <foreach collection='list' item='healthCheckResultEntity' index='index' separator=','>",
+ " (#{healthCheckResultEntity.type}, #{healthCheckResultEntity.typeId}, #{healthCheckResultEntity.clusterId},",
+ " #{healthCheckResultEntity.state}, #{healthCheckResultEntity.resultDesc})",
+ " </foreach>",
+ " </when>",
+ " <otherwise>",
+ " SELECT 1 FROM DUAL WHERE FALSE",
+ " </otherwise>",
+ " </choose>",
"</script>"
})
void batchInsert(List<HealthCheckResultEntity> healthCheckResultEntityList);