From 5dd6f4aa2123671e95907ee19f5925a98983cdc8 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 25 三月 2024 10:05:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java | 164 ++++++++++++++----------------------------------------
1 files changed, 42 insertions(+), 122 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java
index e45416e..0340cca 100644
--- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java
+++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllMySqlMapperProcessor.java
@@ -1,15 +1,15 @@
package com.vci.ubcs.ddl.processor.dll;
-import com.vci.starter.web.enumpck.VciFieldTypeEnum;
-import com.vci.ubcs.ddl.mapper.DllMapper;
-import com.vci.ubcs.ddl.mapper.DllOracleMapper;
-import com.vci.ubcs.omd.vo.OmdBtmTypeAttributeVO;
-import com.vci.ubcs.starter.exception.VciBaseException;
-import org.apache.commons.lang3.StringUtils;
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
-import javax.smartcardio.ATR;
+import com.vci.ubcs.ddl.bo.DdlFieldMappingAttrBO;
+import com.vci.ubcs.ddl.mapper.DllMapper;
+import com.vci.ubcs.ddl.mapper.DllMySqlMapper;
+import com.vci.ubcs.starter.util.VciSpringUtil;
+import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
+import org.apache.commons.collections4.BidiMap;
+import org.springframework.context.annotation.DependsOn;
+import org.springframework.stereotype.Component;
+
import java.util.List;
/**
@@ -18,24 +18,37 @@
* @author LiHang
* @date 2023/4/24
*/
+@Component
+@DependsOn("vciSpringUtil")
public class DllMySqlMapperProcessor extends DllMapperProcessor {
- @Resource
- private DllOracleMapper realMapper;
+ private static final DllMapper MAPPER = VciSpringUtil.getBean(DllMySqlMapper.class);
- private static DllMapper mapper;
+ private static final BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> FIELD_MAP = getMappingMapCopy();
- @PostConstruct
- public void init() {
- mapper = realMapper;
+
+ static {
+ // 闇�瑕侀噸鏂版槧灏勭殑瀛楁绫诲瀷鍦ㄨ繖閲屽啓
+ FIELD_MAP.put(VciFieldTypeEnum.VTDouble,new DdlFieldMappingAttrBO("NUMERIC",26,8,true,null));
+ FIELD_MAP.put(VciFieldTypeEnum.VTInteger,new DdlFieldMappingAttrBO("INT",22,null,true,null));
+ FIELD_MAP.put(VciFieldTypeEnum.VTLong,new DdlFieldMappingAttrBO("BIGINT",22,null,true,null));
+ FIELD_MAP.put(VciFieldTypeEnum.VTBoolean,new DdlFieldMappingAttrBO("VARCHAR",5,null,true,null));
+ FIELD_MAP.put(VciFieldTypeEnum.VTDate,new DdlFieldMappingAttrBO("DATETIME",null,null,true,null));
+ FIELD_MAP.put(VciFieldTypeEnum.VTDateTime,new DdlFieldMappingAttrBO("DATETIME",null,null,true,null));
+ FIELD_MAP.put(VciFieldTypeEnum.VTTime,new DdlFieldMappingAttrBO("DATETIME",null,null,true,null));
+ FIELD_MAP.put(VciFieldTypeEnum.VTFilePath,new DdlFieldMappingAttrBO("VARCHAR",100,null,true,null));
+ FIELD_MAP.put(VciFieldTypeEnum.VTClob,new DdlFieldMappingAttrBO("varchar(max)",100,null,true,null));
+ FIELD_MAP.put(VciFieldTypeEnum.VTString,new DdlFieldMappingAttrBO("VARCHAR",100,null,true,null));
}
public DllMySqlMapperProcessor() {
- super(mapper);
- }
-
- public static class SINGLE {
- public static DllMySqlMapperProcessor INSTANCE = new DllMySqlMapperProcessor();
+ super(MAPPER);
+ System.out.println("-----------------");
+ if (MAPPER != null){
+ System.out.println("[success]::鍔犺浇MySql鏁版嵁搴揇LL鎿嶄綔鏈嶅姟鎴愬姛");
+ }else {
+ System.out.println("[fail]::鍔犺浇MySql鏁版嵁搴揇LL鎿嶄綔鏈嶅姟澶辫触");
+ }
}
@Override
@@ -43,118 +56,25 @@
return "oracle.jdbc.OracleDiver".equals(url);
}
- /**
- * 鑾峰彇鍒涘缓鐨剆ql璇彞涓睘鎬ч儴鍒�
- *
- * @param attributeVOList 灞炴�х殑绔嬬
- * @return sql璇彞
- */
@Override
- public String getCreateSqlByAttributeForBtm(List<OmdBtmTypeAttributeVO> attributeVOList) {
- StringBuilder sb = new StringBuilder();
- attributeVOList.forEach(a -> {
- sb.append(a.getId()).append(SPACE);
- VciFieldTypeEnum fieldTypeEnum = VciFieldTypeEnum.forValue(a.getAttrDataType());
- if (fieldTypeEnum == null) {
- throw new VciBaseException("灞炴�ф湁璇�");
- }
- switch (fieldTypeEnum) {
- case VTInteger:
- case VTLong:
- sb.append(dealNumberCreateSql(a));
- break;
- case VTDouble:
- sb.append(dealDoubleCreateSql(a));
- break;
- case VTBoolean:
- sb.append(dealBooleanCreateSql(a));
- break;
- case VTDate:
- case VTTime:
- case VTDateTime:
- sb.append(dealDateTimeCreateSql(a));
- case VTFilePath:
- sb.append("VARCHAR").append("(100)").append(SPACE);
- break;
- case VTClob:
- sb.append("LONGTEXT").append(SPACE);
- if (!a.isNullableFlag()) {
- sb.append(SPACE).append("not null").append(SPACE);
- }
- break;
- default:
- sb.append(dealStringCreateSql(a));
- break;
- }
- sb.append(",\n\t");
- });
- return sb.substring(0, sb.lastIndexOf(","));
+ protected DdlFieldMappingAttrBO getMappingBO(VciFieldTypeEnum fieldTypeEnum) {
+ return getMappingBOInMap(fieldTypeEnum,FIELD_MAP);
}
/**
- * 澶勭悊鏁存暟绫诲瀷鐨剆ql杞崲
+ * 鎸夋暟鎹簱瀛楁绫诲瀷鍒椾妇鎵�鏈夌殑VCI瀛楁绫诲瀷
*
- * @param attributeVO 灞炴��
- * @return sql
+ * @param columnStr 鏁版嵁搴撳瓧娈电被鍨�
+ * @return VCI瀛楁绫诲瀷
*/
@Override
- public String dealNumberCreateSql(OmdBtmTypeAttributeVO attributeVO) {
- StringBuilder sb = new StringBuilder();
- if (VciFieldTypeEnum.VTInteger.name().equalsIgnoreCase(attributeVO.getAttrDataType())) {
- sb.append("INT").append(SPACE);
- } else {
- sb.append("BIGINT").append(SPACE);
- }
- sb.append(dealDefaultAndNull(attributeVO));
- return sb.toString();
+ public List<VciFieldTypeEnum> listFieldByColumnStr(String columnStr) {
+ return listFieldInMapByColumnStr(columnStr,FIELD_MAP);
}
-
- /**
- * 澶勭悊娴偣鏁扮被鍨嬬殑sql杞崲
- *
- * @param attributeVO 灞炴��
- * @return sql
- */
@Override
- public String dealDoubleCreateSql(OmdBtmTypeAttributeVO attributeVO) {
- StringBuilder sb = new StringBuilder();
- Integer length = attributeVO.getPrecisionLength();
- if (length == null || length == 0) {
- length = 20;
- }
- Integer scaleLength = attributeVO.getScaleLength();
- if (scaleLength == null) {
- scaleLength = 2;
- }
- sb.append("DOUBLE").append("(").append(String.valueOf(length.intValue()))
- .append(",").append(String.valueOf(scaleLength.intValue()))
- .append(")").append(SPACE);
- sb.append(dealDefaultAndNull(attributeVO));
- return sb.toString();
- }
-
-
- /**
- * 澶勭悊甯冨皵绫诲瀷鐨剆ql杞崲
- *
- * @param attributeVO 灞炴��
- * @return sql
- */
- @Override
- public String dealBooleanCreateSql(OmdBtmTypeAttributeVO attributeVO) {
- return "VARCHAR (5) " + SPACE + dealDefaultAndNull(attributeVO);
- }
-
- /**
- * 澶勭悊鏃ユ湡鏃堕棿绫诲瀷鐨剆ql杞崲
- *
- * @param attributeVO 灞炴��
- * @return sql
- */
- @Override
- public String dealDateTimeCreateSql(OmdBtmTypeAttributeVO attributeVO) {
- return "DATETIME" + SPACE + dealDefaultAndNull(attributeVO);
+ public VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr, Integer length) {
+ return getFieldTypeBeColumnStrInMap(columnStr,length,FIELD_MAP);
}
}
--
Gitblit v1.9.3