一些小工具

-------------------------------------------------------------------------------

比较垃圾的实现, 不足为外人道也

-----------------------------------------------------------------------------------

-----------------------------------------------------------------------------------

-----------------------------------------------------------------------------------

-----------------------------------------------------------------------------------

---------------------------数据表转化为md--------------------------------------------------------

---------------------------私有化较强,必须自己再改-----

public class testcamel {


    public static void main(String[] args) throws UnsupportedEncodingException {

        String str ="  " +
                " CREATE TABLE `tb_order_integral` (\n" +
                "  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',\n" +
                "  `related_id` varchar(128) NOT NULL DEFAULT '' COMMENT '商户订单号',\n" +
                "  `last_modified_name` varchar(32) NOT NULL DEFAULT '' COMMENT '最后更新者名称',\n" +
                "  `last_modified_date` datetime DEFAULT NULL COMMENT '最后更新时间',\n" +
                "  `del_flag` int(11) NOT NULL DEFAULT '0' COMMENT '删除标记0未删除1已删除',\n" +
                "  `is_check` int(11) NOT NULL DEFAULT '0' COMMENT '是否对账订单 1是 0否',\n" +
                "  `cny_back` int(11) NOT NULL DEFAULT '0' COMMENT '是否 解冻额度 1.是 0.否',\n" +
                "  PRIMARY KEY (`id`),\n" +
                ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='积分表';" +
                "";
        System.out.println(creatMd(str,false));
    }


    public static String creatMd( String str, boolean camel) throws UnsupportedEncodingException {


       // str = new String(str.getBytes("GBK"), "utf-8");
        if(camel){
            str = getCamel(str);
        }

        StringBuilder sbd = new StringBuilder();
        sbd.append(" |字段名|字段类型|字段说明|如何写入流程|如何更新流程 \n");
        sbd.append(" |:--:|:--:|:--:|:--:|:--: \n");

       str = str.substring(str.indexOf("(") +1,  str.lastIndexOf("PRIMARY KEY")).trim();


        String[] split = str.split(",");
        for (int i = 0; i < split.length; i++) {
            String s = split[i];

            sbd.append("|`").append(getName(s)).append("`|").append(getType(s)).append("|").append(getNote(s)).append("|").append("接口传入|").append("-|").append("\n");

        }

        return sbd.toString();


    }

    public static String getName(String str){
        return str.substring(str.indexOf("`")+1, str.lastIndexOf("`"));
    }

    public static String getType(String str){
         if(str.contains("bigint(")){
             return "Long";
         }
        if(str.contains("int(")){
            return "Integer";
        }
        if(str.contains("varchar(")){
            return "String";
        }
        if(str.contains(" datetime ")){
            return "Date";
        }
        return "";
    }

    public static String getNote(String str){
        return str.substring(str.indexOf("COMMENT '") + 9, str.lastIndexOf("'"));
    }

public static String getLength(String str) {
    if(str.contains("(") && str.contains(")")) {
      return   str.substring(str.indexOf("(")+1 , str.lastIndexOf(")"));
    }
    return "";
}
    public static String getCamel(String str){
        Pattern p = Pattern.compile("_[a-z]");
        Matcher m = p.matcher(str);
        StringBuffer sb = new StringBuffer();
        while (m.find()) {
            String firstChar = m.group().substring(1, 2);
            m.appendReplacement(sb, firstChar.toUpperCase());
        }
        m.appendTail(sb);
       return sb.toString();
    }
}

-----------------------------------------------------------------------------------------

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值