#
Junjie
1 天以前 536e17a446c170a8b214aaf188b98817ee6258c1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
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();
    }
}