feat: highgo add double and float converter,dameng support insert batch

This commit is contained in:
2025-04-10 16:48:20 +08:00
parent 970459a733
commit 0dec46a3c4
2 changed files with 25 additions and 4 deletions

View File

@@ -747,12 +747,22 @@ public class BaseMapperImpl implements BaseMapper {
pkName = "ID";
}
int i;
if (dataTypeConfig.equals(DataUnit.ORACLE) || dataTypeConfig.equals(DataUnit.DAMENG)) {
if (dataTypeConfig.equals(DataUnit.ORACLE)) {
for (Map<String, Object> map : list) {
Object id = getSequence(tableName, pkName);
map.put(pkName, id);
}
i = tableMapper.insertBatch(list, tableName);
}else if(dataTypeConfig.equals(DataUnit.DAMENG)){
getSequence(tableName, pkName);
List<Map<String,Object>> tempList = new ArrayList<>();
for (Map<String, Object> map : list) {
map = formatMap(map,tableName);
map.put(pkName, tableName + "_SEQ.nextval");
tempList.add(map);
}
list = tempList;
i = tableMapper.insertBatchSeq(list, tableName, pkName);
} else if (dataTypeConfig.equals(DataUnit.HANGO)) {
getSequence(tableName, pkName);
List<Map<String,Object>> tempList = new ArrayList<>();

View File

@@ -2,7 +2,6 @@ package com.taixingyiji.base.module.data.module;
import cn.hutool.core.date.DateUtil;
import java.sql.*;
import java.util.*;
/**
@@ -32,6 +31,14 @@ public class DataTypeConverter {
case "int":
convertedData.put(column, Integer.parseInt(value.toString()));
break;
case "double":
case "DOUBLE":
convertedData.put(column, Double.parseDouble(value.toString()));
break;
case "float":
case "FLOAT":
convertedData.put(column, Float.parseFloat(value.toString()));
break;
case "bigint":
case "BIGINT":
convertedData.put(column, Long.parseLong(value.toString()));
@@ -45,9 +52,13 @@ public class DataTypeConverter {
convertedData.put(column, DateUtil.parse(value.toString()));
break;
default:
if(columnType.contains("int") || columnType.contains("INT")){
if (columnType.contains("int") || columnType.contains("INT")) {
convertedData.put(column, Integer.parseInt(value.toString()));
}else {
} else if (columnType.contains("double") || columnType.contains("DOUBLE")) {
convertedData.put(column, Double.parseDouble(value.toString()));
} else if (columnType.contains("float") || columnType.contains("FLOAT")) {
convertedData.put(column, Float.parseFloat(value.toString()));
} else {
convertedData.put(column, value);
}
break;