From 13b31b2ca2a5f8600002a042b536c9d5529842e3 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 09 三月 2026 19:21:18 +0800
Subject: [PATCH] #

---
 src/main/java/com/core/generators/utils/GeneratorUtils.java |  134 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 134 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/core/generators/utils/GeneratorUtils.java b/src/main/java/com/core/generators/utils/GeneratorUtils.java
new file mode 100644
index 0000000..cb6767f
--- /dev/null
+++ b/src/main/java/com/core/generators/utils/GeneratorUtils.java
@@ -0,0 +1,134 @@
+package com.core.generators.utils;
+
+import com.core.common.Cools;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class GeneratorUtils {
+
+    public static String _convert(String text, boolean keepFirst) {
+        String[] arr = text.split("_");
+        StringBuilder builder = new StringBuilder();
+        for (int i = 0; i < arr.length; i++) {
+            if (i == 0 && keepFirst) {
+                builder.append(arr[i]);
+            } else {
+                builder.append(arr[i].substring(0, 1).toUpperCase()).append(arr[i].substring(1));
+            }
+        }
+        return builder.toString();
+    }
+
+    public static String _convert(String text) {
+        return _convert(text, true);
+    }
+
+    public static String getType(int sqlType) {
+        switch (sqlType) {
+            case -7:
+                return "Boolean";
+            case -6:
+            case 5:
+                return "Short";
+            case 4:
+                return "Integer";
+            case -5:
+                return "Long";
+            case 8:
+            case 3:
+                return "Double";
+            case -15:
+            case -9:
+            case 1:
+            case 12:
+            case 2004:
+            case -1:
+                return "String";
+            case 91:
+            case 93:
+                return "Date";
+            default:
+                return null;
+        }
+    }
+
+    public static String getNameSpace(String tableName) {
+        String[] arr = tableName.split("_");
+        StringBuilder builder = new StringBuilder();
+        for (int i = 1; i < arr.length; i++) {
+            if (i != 1) {
+                builder.append("_");
+            }
+            builder.append(arr[i]);
+        }
+        return _convert(builder.toString(), false);
+    }
+
+    public static String supportHtmlName(String name) {
+        if (Cools.isEmpty(name)) {
+            return "";
+        }
+        if (name.length() == 2) {
+            return new StringBuilder()
+                    .append(name.charAt(0))
+                    .append("銆�銆�")
+                    .append(name.charAt(1))
+                    .toString();
+        }
+        if (name.length() == 3) {
+            return new StringBuilder()
+                    .append(name.charAt(0))
+                    .append(" ")
+                    .append(name.charAt(1))
+                    .append(" ")
+                    .append(name.charAt(2))
+                    .toString();
+        }
+        return name;
+    }
+
+    public static Integer getColumnLength(String typeText) {
+        if (Cools.isEmpty(typeText)) {
+            return null;
+        }
+        Pattern pattern = Pattern.compile("(?<=\\()(.+?)(?=\\))");
+        Matcher matcher = pattern.matcher(typeText);
+        if (matcher.find()) {
+            String value = matcher.group();
+            if (value.contains(",")) {
+                value = value.split(",")[0];
+            }
+            return Integer.valueOf(Integer.parseInt(value));
+        }
+        return null;
+    }
+
+    public static String firstCharConvert(String text, boolean lower) {
+        if (Cools.isEmpty(text)) {
+            return "";
+        }
+        String first = text.substring(0, 1);
+        if (lower) {
+            first = first.toLowerCase();
+        } else {
+            first = first.toUpperCase();
+        }
+        return new StringBuilder().append(first).append(text.substring(1)).toString();
+    }
+
+    public static String firstCharConvert(String text) {
+        return firstCharConvert(text, true);
+    }
+
+    public static String humpToLine(String text) {
+        Pattern pattern = Pattern.compile("[A-Z]");
+        Matcher matcher = pattern.matcher(text);
+        StringBuffer buffer = new StringBuffer();
+        while (matcher.find()) {
+            matcher.appendReplacement(buffer, "_" + matcher.group(0).toLowerCase());
+        }
+        matcher.appendTail(buffer);
+        return buffer.toString();
+    }
+}

--
Gitblit v1.9.1