-------------------------------------------------------------------------------
比较垃圾的实现, 不足为外人道也
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
---------------------------数据表转化为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(); } }
-----------------------------------------------------------------------------------------