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"; pkName = "ID";
} }
int i; int i;
if (dataTypeConfig.equals(DataUnit.ORACLE) || dataTypeConfig.equals(DataUnit.DAMENG)) { if (dataTypeConfig.equals(DataUnit.ORACLE)) {
for (Map<String, Object> map : list) { for (Map<String, Object> map : list) {
Object id = getSequence(tableName, pkName); Object id = getSequence(tableName, pkName);
map.put(pkName, id); map.put(pkName, id);
} }
i = tableMapper.insertBatch(list, tableName); 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)) { } else if (dataTypeConfig.equals(DataUnit.HANGO)) {
getSequence(tableName, pkName); getSequence(tableName, pkName);
List<Map<String,Object>> tempList = new ArrayList<>(); 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 cn.hutool.core.date.DateUtil;
import java.sql.*;
import java.util.*; import java.util.*;
/** /**
@@ -32,6 +31,14 @@ public class DataTypeConverter {
case "int": case "int":
convertedData.put(column, Integer.parseInt(value.toString())); convertedData.put(column, Integer.parseInt(value.toString()));
break; 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":
case "BIGINT": case "BIGINT":
convertedData.put(column, Long.parseLong(value.toString())); convertedData.put(column, Long.parseLong(value.toString()));
@@ -45,9 +52,13 @@ public class DataTypeConverter {
convertedData.put(column, DateUtil.parse(value.toString())); convertedData.put(column, DateUtil.parse(value.toString()));
break; break;
default: default:
if(columnType.contains("int") || columnType.contains("INT")){ if (columnType.contains("int") || columnType.contains("INT")) {
convertedData.put(column, Integer.parseInt(value.toString())); 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); convertedData.put(column, value);
} }
break; break;