代码生成器基于Java/Grpc.proto/Mybatis/Swagger

本代码是基于java grpc协议文件代码 mybatis数据库操作代码 swagger文档生成代码 目的在于减少重复性代码 减少犯错(本人数据库经常写错要测试同事测试几遍才能通过) 然后有一天聊天聊到这里能不能基于公司项目生成一些代码模板 故花了一天时间写了出来,前端代码我不会写是同事帮忙写的 故没有贴出来附上截图 供学习和记录自己学习用

定义数据类型

public interface TypeClass {
    /**
     *
     */
    String LONG = "Long";
    /**
     *
     */
    String INTEGER = "Integer";
    /**
     *
     */
    String SHORT = "Short";

    /**
     *
     */
    String STRING = "String";

    /**
     * 日期
     */
    String DATE = "Date";
}

生成以下文件代码

数据库实体类

数据库表语句

Mapper接口

Mapper.xml

Grpc.proto

Swagger

import org.assertj.core.util.Lists;
import org.junit.Test;

import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MapperTest {

    @Test
    public void test1() {
        String className = "TestModel";
        String tableName = xX2x_x(className);
        String line = "id,Long,ID";
        String line2 = "name,String,名称";
        String line3 = "value,Short,数额值";
        String line4 = "createTime,Date,创建日期";
        String line5 = "updateTime,Date,修改日期";
        List<String> lines = Lists.newArrayList(line, line2, line3, line4, line5);
        String modelStr = testCreateModel(lines, className, tableName);
        System.out.println(modelStr);

        String tableStr = testCreateTable(lines, className, tableName);
        System.out.println(tableStr);

        String mapperStr = testCreateMapper(lines, className, tableName);
        System.out.println(mapperStr);

        String xmlStr = testCreateXML(lines, className, tableName);
        System.out.println(xmlStr);

        String protoStr = testCreateProto(lines, className, tableName);
        System.out.println(protoStr);

        String swaggerStr = testCreateSwagger(lines, className, tableName);
        System.out.println(swaggerStr);
    }


    public String testCreateModel(List<String> lines, String className, String tableName) {
        StringBuilder builder = new StringBuilder();

        boolean hasDate = false;
        for (String tr : lines) {

            String[] array = tr.split(",");
            String key = array[0];
            String type = array[1];
            String desc = array[2];
            if (type.equals("Date")) {
                hasDate = true;
                break;
            }
        }

        if (hasDate) {
            String startImport = "import java.util.Date;\n";
            String import1 = "import com.fasterxml.jackson.databind.PropertyNamingStrategies;\n" +
                    "import com.fasterxml.jackson.databind.annotation.JsonNaming;\n" +
                    "import lombok.*;\n";
            String autowire = "@Setter\n" +
                    "@Getter\n" +
                    "@NoArgsConstructor\n" +
                    "@AllArgsConstructor\n" +
                    "@Builder\n" +
                    "@JsonNaming(value = PropertyNamingStrategies.SnakeCaseStrategy.class)\n";
            builder.append(startImport + import1 + autowire);
        } else {
            String import1 = "import com.fasterxml.jackson.databind.PropertyNamingStrategies;\n" +
                    "import com.fasterxml.jackson.databind.annotation.JsonNaming;\n" +
                    "import lombok.*;\n";
            String autowire = "@Setter\n" +
                    "@Getter\n" +
                    "@NoArgsConstructor\n" +
                    "@AllArgsConstructor\n" +
                    "@Builder\n" +
                    "@JsonNaming(value = PropertyNamingStrategies.SnakeCaseStrategy.class)\n";
            builder.append(import1 + autowire);
        }

        // 生成model
        String startClass = "public class " + className + "{\n";
        builder.append(startClass);

        String tableKey = "\t";
        for (String tr : lines) {
            String[] array = tr.split(",");
            String key = array[0];
            String type = array[1];
            String desc = array[2];
            String str1 = "/**\n*" + desc + "\n**/\n";
            String str2 = "private " + type + " " + key + ";\n";
            builder.append(str1 + str2);
        }
        String endClass = "}";
        builder.append(endClass);
        return builder.toString();
    }


    public String testCreateTable(List<String> lines, String className, String tableName) {
        StringBuilder builder = new StringBuilder();
        // 生成表
        String startTable = "CREATE TABLE " + parseTableKey(tableName) + "(";
        builder.append(startTable);
        String tableKey = "\t";
        for (String tr : lines) {
            String[] array = tr.split(",");
            String key = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];
            String keyValue = parseTableKey(key) + " ";
            String typeStr = "";
            switch (type) {
                // 日期
                case TypeClass.DATE:
                    if (key.equals("create_time")) {
                        typeStr = " datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ";
                    } else if (key.equals("update_time")) {
                        typeStr = " datetime NOT NULL DEFAULT '1001-01-01 00:00:00' ON UPDATE CURRENT_TIMESTAMP ";
                    } else {
                        typeStr = " datetime NOT NULL DEFAULT '1001-01-01 00:00:00' ";
                    }
                    break;
                case TypeClass.LONG:
                    if (key.equals("id")) {
                        typeStr = " bigint(20) NOT NULL AUTO_INCREMENT ";
                    } else {
                        typeStr = " bigint(20) NOT NULL DEFAULT '0' ";
                    }
                    break;
                case TypeClass.INTEGER:
                    typeStr = " int(11) NOT NULL DEFAULT '0' ";
                    break;
                case TypeClass.SHORT:
                    typeStr = " tinyint(4) NOT NULL DEFAULT '0' ";
                    break;
                case TypeClass.STRING:
                    typeStr = " varchar(64) NOT NULL DEFAULT '' ";
                    break;
            }
            String finalValue = keyValue + typeStr + "COMMENT '" + desc + "',\n";
            builder.append(finalValue);
        }
        String endTable = "PRIMARY KEY (`id`)\n" +
                ") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT=''";
        builder.append(endTable);
        return builder.toString();
    }

    public String testCreateMapper(List<String> lines, String className, String tableName) {
        StringBuilder builder = new StringBuilder();
        String startImport = "import org.apache.ibatis.annotations.Mapper;\n" +
                "import org.apache.ibatis.annotations.Param;\n" +
                "import java.util.List;\n" +
                "import java.util.Set;\n";
        builder.append(startImport);

        String startClass = "@Mapper\n" +
                "public interface " + className + "Mapper {\n";
        builder.append(startClass);

        // get 方法
        String getMethod = className + " getById(@Param(\"id\") long id);\n";
        builder.append(getMethod);


        // find 方法
        String findMethod = "List<" + className + "> find(@Param(\"status\") Set<Short> status,\n" +
                "                          @Param(\"sort_by\") String sortBy,\n" +
                "                          @Param(\"sort_direction\") String sortDirection,\n" +
                "                          @Param(\"page_start\") Integer pageStart,\n" +
                "                          @Param(\"page_size\") Integer pageSize);\n";
        builder.append(findMethod);

        // insert 方法
        String insertMethod = "int insert(" + className + " obj);\n";
        builder.append(insertMethod);


        // update 方法
        String updateMethod = "int update(" + className + " obj);\n";
        builder.append(updateMethod);


        String endClass = "}";
        builder.append(endClass);
        return builder.toString();
    }

    public String testCreateXML(List<String> lines, String className, String tableName) {
        StringBuilder builder = new StringBuilder();

        String header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                "<!DOCTYPE mapper PUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\n" +
                "        \"http://mybatis.org/dtd/mybatis-3-mapper.dtd\">\n";

        String mapperHeader = "<mapper namespace=\"" + className + "Mapper\">\n";

        String baseColumnList = "";
        String baseColumnStart = "<sql id=\"baseColumnList\">\n";

        StringBuilder baseColumnContentBuilder = new StringBuilder();
        for (int i = 0; i < lines.size(); i++) {
            String[] array = lines.get(i).split(",");
            String key = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];
            if (i == lines.size() - 1) {
                baseColumnContentBuilder.append(parseTableKey(key) + "\n");
            } else {
                baseColumnContentBuilder.append(parseTableKey(key) + ",");
            }
        }
        builder.append(header);
        builder.append(mapperHeader);


        String baseColumnEnd = "</sql>\n";

        baseColumnList = baseColumnStart + baseColumnContentBuilder.toString() + baseColumnEnd;

        String mapperTail = "</mapper>\n";

        builder.append(baseColumnList);


        // getById 方法
        String getMethod = " <select id=\"getById\" resultType=\"" + className + "\">\n" +
                "        SELECT <include refid=\"baseColumnList\"/>\n" +
                "        FROM " + parseTableKey(tableName) +
                "\n        <where>\n" +
                "             id = #{id}" +
                "\n        </where>\n" +
                "        LIMIT 1\n" +
                " </select>\n";
        builder.append(getMethod);

        // find 方法
        String findMthod = "<select id=\"find\" resultType=\"" + className + "\">\n" +
                "        SELECT <include refid=\"baseColumnList\"/>\n" +
                "        FROM " + parseTableKey(tableName) + "\n" +
                "\t\t<where>\n" +
                "            <if test=\"id != null\">\n" +
                "                AND `id` = #{id}\n" +
                "            </if>\n" +
                "            <if test=\"status != null and status.size() > 0\">\n" +
                "                AND `status` IN\n" +
                "                <foreach collection=\"status\" item=\"item\" index=\"index\" open=\"(\" close=\")\" separator=\",\">\n" +
                "                    #{item}\n" +
                "                </foreach>\n" +
                "            </if>\n" +
                "            <if test=\"keywords != null and keywords != ''\">\n" +
                "                AND CONCAT(`key1`, `key2`) like CONCAT('%', #{keywords}, '%')\n" +
                "            </if>\n" +
                "        </where>\n" +
                "        <if test=\"sort_by != null and sort_direction != null\">\n" +
                "            ORDER BY `${sort_by}` ${sort_direction}\n" +
                "        </if>\n" +
                "        <if test=\"sort_by == null or sort_direction == null\">\n" +
                "            ORDER BY `id` DESC\n" +
                "        </if>\n" +
                "        <if test=\"page_start != null and page_size != null\">\n" +
                "            LIMIT #{page_start}, #{page_size}\n" +
                "        </if>\n" +
                "    </select>\n";
        builder.append(findMthod);

        // insert  方法
        String insertMethod = "<insert id=\"insert\" parameterType=\"" + className + "\"\n" +
                "            useGeneratedKeys=\"true\" keyProperty=\"id\" keyColumn=\"id\">\n" +
                "        INSERT INTO " + parseTableKey(tableName) + "\n\t\t<trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\">\n";

        StringBuilder builderKey = new StringBuilder();
        StringBuilder builderValue = new StringBuilder();
        builderValue.append("\t\t<trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">\n");

        for (String str : lines) {
            String[] array = str.split(",");
            String key = array[0];
            String keyDb = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];
            if (key.equals("id") || key.equals("createTime") || key.equals("updateTime")) {
                continue;
            }
            builderKey.append("\t\t\t<if test=\"" + key + " != null\">\n");
            builderKey.append("\t\t\t\t" + parseTableKey(keyDb) + ",\n" +
                    "\t\t\t</if>\n");
            builderValue.append("\t\t\t<if test=\"" + key + " != null\">\n");
            builderValue.append("\t\t\t\t#{" + key + "},\n" +
                    "\t\t\t</if>\n");
        }
        builderKey.append("\t\t</trim>\n");
        builderValue.append("\t\t</trim>\n");
        insertMethod = insertMethod + builderKey + builderValue + "\t</insert>\n";

        builder.append(insertMethod);


        // update 方法
        StringBuilder builderUpdate = new StringBuilder("\t<update id=\"update\">\n" +
                "\t\tUPDATE " + parseTableKey(tableName) + "\n\t\t<set>\n");
        for (String str : lines) {
            String[] array = str.split(",");
            String key = array[0];
            String keyDb = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];
            if (key.equals("id") || key.equals("createTime") || key.equals("updateTime")) {
                continue;
            }
            builderUpdate.append("\t\t\t<if test=\"" + key + " != null\">\n" +
                    "\t\t\t\t");
            builderUpdate.append(parseTableKey(keyDb) + " = #{" + key + "},\n" +
                    "\t\t\t</if>\n");
        }
        builderUpdate.append("\t\t</set>\n" +
                "\t\t<where>\n" +
                "\t\t\t`id` = #{id}\n" +
                "\t\t</where>\n" +
                "\t</update>\n");

        builder.append(builderUpdate);
        builder.append(mapperTail);

        return builder.toString();

    }

    public String testCreateProto(List<String> lines, String className, String tableName) {
        StringBuilder builder = new StringBuilder();
        // service
        StringBuilder serviceBuilder = new StringBuilder("service " + className + "Service {");
        // create
        serviceBuilder.append("\n" +
                "    // create说明\n" +
                "    //\n" +
                "    // 1001 操作成功\n" +
                "    // 1002 暂无记录\n" +
                "    // 1500 操作失败, 参考`message`\n");
        serviceBuilder.append("    rpc create (" + className + "CreateRequest) returns (" + className + "CreateReply) {};\n");

        // update
        serviceBuilder.append("\n" +
                "    // update说明\n" +
                "    //\n" +
                "    // 1001 操作成功\n" +
                "    // 1002 暂无记录\n" +
                "    // 1500 操作失败, 参考`message`\n");
        serviceBuilder.append("    rpc update (" + className + "UpdateRequest) returns (" + className + "UpdateReply) {};\n");

        // detail
        serviceBuilder.append("\n" +
                "    // detail说明\n" +
                "    //\n" +
                "    // 1001 操作成功\n" +
                "    // 1002 暂无记录\n" +
                "    // 1500 操作失败, 参考`message`\n");
        serviceBuilder.append("    rpc detail (" + className + "DetailRequest) returns (" + className + "DetailReply) {};\n");


        // detail
        serviceBuilder.append("\n" +
                "    // list说明\n" +
                "    //\n" +
                "    // 1001 操作成功\n" +
                "    // 1002 暂无记录\n" +
                "    // 1500 操作失败, 参考`message`\n");
        serviceBuilder.append("    rpc list (" + className + "ListRequest) returns (" + className + "ListReply) {};\n");


        serviceBuilder.append("}\n");

        builder.append(serviceBuilder.toString());
        // request create update detail list

        // create request
        StringBuilder createRequestBuilder = new StringBuilder("message " + className + "CreateRequest {\n");
        createRequestBuilder.append("    // Generic Header\n" +
                "    v1.header.RequestHeader header = 1;\n\n");
        for (int i = 0; i < lines.size(); i++) {
            String[] array = lines.get(i).split(",");
            String key = array[0];
            String keyDb = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];
            if (key.equals("id") || key.equals("createTime") || key.equals("updateTime")) {
                continue;
            }

            String typeStr = getProtoType(type);

            createRequestBuilder.append("    // " + desc + "\n");
            if (key.equals(keyDb)) {
                createRequestBuilder.append("    " + typeStr + " " + key + " = " + (i + 2) + " ;\n");
            } else {
                createRequestBuilder.append("    " + typeStr + " " + key + " = " + (i + 2) + " [json_name = \"" + keyDb + "\"]" + ";\n");
            }
        }
        createRequestBuilder.append("}\n");

        builder.append(createRequestBuilder.toString());

        // create reply
        StringBuilder createReplyBuilder = new StringBuilder("message " + className + "CreateReply {\n");
        createReplyBuilder.append("    // Generic Header\n" +
                "    v1.header.ReplyHeader header = 1;\n");

        createReplyBuilder.append("}\n");
        builder.append(createReplyBuilder.toString());


        // update request
        StringBuilder updateRequestBuilder = new StringBuilder("message " + className + "UpdateRequest {\n");
        updateRequestBuilder.append("    // Generic Header\n" +
                "    v1.header.RequestHeader header = 1;\n\n");
        for (int i = 0; i < lines.size(); i++) {
            String[] array = lines.get(i).split(",");
            String key = array[0];
            String keyDb = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];
            if (key.equals("createTime") || key.equals("updateTime")) {
                continue;
            }

            String typeStr = getProtoType(type);

            updateRequestBuilder.append("    // " + desc + "\n");
            if (key.equals(keyDb)) {
                updateRequestBuilder.append("    " + typeStr + " " + key + " = " + (i + 2) + " ;\n");
            } else {
                updateRequestBuilder.append("    " + typeStr + " " + key + " = " + (i + 2) + " [json_name = \"" + keyDb + "\"]" + ";\n");
            }
        }
        updateRequestBuilder.append("}\n");
        builder.append(updateRequestBuilder.toString());

        // update reply
        StringBuilder updateReplyBuilder = new StringBuilder("message " + className + "UpdateReply {\n");
        updateReplyBuilder.append("    // Generic Header\n" +
                "    v1.header.ReplyHeader header = 1;\n");

        updateReplyBuilder.append("}\n");
        builder.append(updateReplyBuilder.toString());

        // detail request
        StringBuilder detailRequestBuilder = new StringBuilder("message " + className + "DetailRequest {\n");
        detailRequestBuilder.append("    // Generic Header\n" +
                "    v1.header.RequestHeader header = 1;\n" +
                "\n" +
                "    // ID\n" +
                "    int64 id = 2;\n" +
                "\n");
        detailRequestBuilder.append("}\n");

        builder.append(detailRequestBuilder.toString());


        // detail reply

        StringBuilder detailReplyBuilder = new StringBuilder("message " + className + "DetailReply {\n");
        detailReplyBuilder.append("    // Generic Header\n" +
                "    v1.header.ReplyHeader header = 1;\n");

        for (int i = 0; i < lines.size(); i++) {
            String[] array = lines.get(i).split(",");
            String key = array[0];
            String keyDb = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];

            String typeStr = getProtoType(type);
            detailReplyBuilder.append("    // " + desc + "\n");
            if (key.equals(keyDb)) {
                detailReplyBuilder.append("    " + typeStr + " " + key + " = " + (i + 2) + " ;\n");
            } else {
                detailReplyBuilder.append("    " + typeStr + " " + key + " = " + (i + 2) + " [json_name = \"" + keyDb + "\"]" + ";\n");
            }
        }

        detailReplyBuilder.append("}\n");
        builder.append(detailReplyBuilder.toString());


        // list request
        StringBuilder listRequestBuilder = new StringBuilder("message " + className + "ListRequest {\n");
        listRequestBuilder.append("    // Generic Header\n" +
                "    v1.header.RequestHeader header = 1;\n" +
                "    // paging request header\n" +
                "    v1.header.PagingRequestHeader pagingHeader = 2 [json_name = \"paging_header\"];\n");
        listRequestBuilder.append("}\n");

        builder.append(listRequestBuilder.toString());

        // list reply

        StringBuilder listReplyBuilder = new StringBuilder("message " + className + "ListReply {\n");
        listReplyBuilder.append("    // Generic Header\n" +
                "    v1.header.ReplyHeader header = 1;\n" +
                "    // paging reply header\n" +
                "    v1.header.PagingReplyHeader pagingHeader = 2 [json_name = \"paging_header\"];\n");

        listReplyBuilder.append("    // 软件集合\n" +
                "    repeated " + " " + className + " row = 3;\n");

        listReplyBuilder.append("}\n");
        builder.append(listReplyBuilder.toString());


        // reply create update detail list

        // entity
        StringBuilder entityBuilder = new StringBuilder("message " + className + " {\n");
        for (int i = 0; i < lines.size(); i++) {
            String[] array = lines.get(i).split(",");
            String key = array[0];
            String keyDb = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];

            String typeStr = getProtoType(type);


            entityBuilder.append("    // " + desc + "\n");
            if (key.equals(keyDb)) {
                entityBuilder.append("    " + typeStr + " " + key + " = " + (i + 2) + " ;\n");
            } else {
                entityBuilder.append("    " + typeStr + " " + key + " = " + (i + 2) + " [json_name = \"" + keyDb + "\"]" + ";\n");
            }
        }
        entityBuilder.append("}\n");
        builder.append(listReplyBuilder.toString());
        return builder.toString();
    }


    public String testCreateSwagger(List<String> lines, String className, String tableName) {
        StringBuilder builder = new StringBuilder();
        // create
        StringBuilder createRequestBuilder = new StringBuilder("    @RequestParameters(value = {\n");
        for (int i = 0; i < lines.size(); i++) {
            String[] array = lines.get(i).split(",");
            String key = array[0];
            String keyDb = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];
            if (key.equals("id") || key.equals("createTime") || key.equals("updateTime")) {
                continue;
            }
            createRequestBuilder.append("            @RequestParameter(name = \"" + keyDb + "\", description = \"" + desc + "\", example = \"\", required = true),\n");
        }
        createRequestBuilder.append("    })\n");

        builder.append(createRequestBuilder);


        StringBuilder updateRequestBuilder = new StringBuilder("    @RequestParameters(value = {\n");
        for (int i = 0; i < lines.size(); i++) {
            String[] array = lines.get(i).split(",");
            String key = array[0];
            String keyDb = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];
            if (key.equals("createTime") || key.equals("updateTime")) {
                continue;
            }
            updateRequestBuilder.append("            @RequestParameter(name = \"" + keyDb + "\", description = \"" + desc + "\", example = \"\", required = true),\n");
        }
        updateRequestBuilder.append("    })\n");
        builder.append(updateRequestBuilder);

        StringBuilder detailRequestBuilder = new StringBuilder("    @RequestParameters(value = {\n" +
                "            @RequestParameter(name = \"id\", description = \"ID\", example = \"10086\", required = true)\n" +
                "    })\n");
        detailRequestBuilder.append("    @ResponseParameters({\n");
        for (int i = 0; i < lines.size(); i++) {
            String[] array = lines.get(i).split(",");
            String key = array[0];
            String keyDb = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];
            detailRequestBuilder.append("            @ResponseParameter(name = \"" + keyDb + "\", description = \"" + desc + "\", example = \"\", required = true),\n");
        }
        detailRequestBuilder.append("    })\n");

        builder.append(detailRequestBuilder);

        StringBuilder listRequestBuilder = new StringBuilder("    @RequestParameters(value = {\n" +
                "            @RequestParameter(name = \"id\", description = \"ID\", example = \"10086\", required = true)\n" +
                "    })\n");
        listRequestBuilder.append("    @ResponseParameters({\n" +
                "            @ResponseParameter(name = \"row\", description = \"数据集合\", properties = {\n");
        for (int i = 0; i < lines.size(); i++) {
            String[] array = lines.get(i).split(",");
            String key = array[0];
            String keyDb = xX2x_x(array[0]);
            String type = array[1];
            String desc = array[2];
            listRequestBuilder.append("                    @ParameterProperty(name = \"" + keyDb + "\", description = \"" + desc + "\", example = \"\", required = true),\n");
        }
        listRequestBuilder.append("            }),\n" +
                "    })");

        builder.append(listRequestBuilder);

        return builder.toString();

    }

    private String parseTableKey(String value) {
        return "`" + value + "`";
    }

    /**
     * @param str
     * @return java.lang.String
     * @author Howe
     * @Description 将驼峰转为下划线
     * @Date 2022/4/22 13:11
     * @since 1.0.0
     */
    public String xX2x_x(String str) {
        Pattern compile = Pattern.compile("[A-Z]");
        Matcher matcher = compile.matcher(str);
        StringBuffer sb = new StringBuffer();
        while (matcher.find()) {
            matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
        }
        matcher.appendTail(sb);
        return sb.toString();
    }

    public String getProtoType(String type) {
        String typeStr = "";
        switch (type) {
            // 日期
            case TypeClass.DATE:
                typeStr = "google.protobuf.Timestamp";
                break;
            case TypeClass.LONG:
                typeStr = "int64";
                break;
            case TypeClass.INTEGER:
                typeStr = "int32";

                break;
            case TypeClass.SHORT:
                typeStr = "int32";
                break;
            case TypeClass.STRING:
                typeStr = "string";
                break;
        }
        return typeStr;
    }
}

下面是前端使用效果

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值