package com.lz.mysql; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.List; public class MysqlUtilTable2XML { public static String TAB = " "; public static void printXMLForMap(TablesBean bean) { String realName = MysqlMain.pre + bean.getSpaceName() + ""; String realNam2 = MysqlMain.pre + bean.getSpaceName(); StringBuffer bf = new StringBuffer(); bf.append("").append("\n"); bf.append("").append("\n"); bf.append("").append("\n"); bf.append("\n"); bf.append(" \n"); bf.append(" \n"); List list = bean.getFieldList(); int i = 0; // 定义get set方法 for (FieldBean tb : list) { if (i == 0) { bf.append(" \n"); } else { bf.append(" \n"); } i++; } bf.append(" \n"); bf.append("\n"); bf.append("\n"); bf.append(" \n"); bf.append(" \n"); // 定义get set方法 StringBuilder sb = new StringBuilder(); int j = 0; for (FieldBean tb : list) { sb.append(tb.getField() + " AS " + tb.getJavaCode()); j++; if (j < list.size()) { sb.append(", "); } } bf.append(" " + sb.toString() + "\n"); bf.append(" \n"); bf.append("\n"); bf.append("\n"); bf.append("\n"); bf.append("\n"); // 根据ID删除 bf.append(TAB).append("").append("\n"); bf.append("\n"); bf.append("\n"); ///////////////////////////////////////////////////////////////////////////////////////////////////////// bf.append(TAB).append("").append("\n"); bf.append(TAB).append(TAB).append("insert into ").append(bean.getTableName()).append("(").append("\n"); for (i = 0; i < bean.getFieldList().size(); i++) { FieldBean obj = bean.getFieldList().get(i); if ("id".equals(obj.getField().toLowerCase()) || "gmt_create".equals(obj.getField()) || "gmt_modified".equals(obj.getField()) || "is_delete".equals(obj.getField())) { continue; } bf.append(TAB).append(TAB).append(TAB).append("").append(obj.getField()).append(", ").append("\n"); } bf.append(TAB).append(TAB).append(TAB).append("is_delete,").append("\n"); bf.append(TAB).append(TAB).append(TAB).append("gmt_create,").append("\n"); bf.append(TAB).append(TAB).append(TAB).append("gmt_modified").append("\n"); bf.append(TAB).append(TAB).append(")values(").append("\n"); for (i = 0; i < bean.getFieldList().size(); i++) { FieldBean obj = bean.getFieldList().get(i); if ("id".equals(obj.getField().toLowerCase()) || "gmt_create".equals(obj.getField()) || "gmt_modified".equals(obj.getField()) || "is_delete".equals(obj.getField())) { continue; } bf.append(TAB).append(TAB).append(TAB).append("#{ ").append(obj.getJavaCode()).append("}, ").append("\n"); } bf.append(TAB).append(TAB).append(TAB).append("0,").append("\n"); bf.append(TAB).append(TAB).append(TAB).append("now(),").append("\n"); bf.append(TAB).append(TAB).append(TAB).append("now()").append("\n"); bf.append(TAB).append(TAB).append(")").append("\n"); bf.append(TAB).append("").append("\n"); bf.append("\n"); bf.append("\n"); ///////////////////////////////////////////////////////////////////////////////////////////////////////// bf.append(TAB).append("").append("\n"); bf.append(TAB).append(TAB).append("update").append("\n"); bf.append(TAB).append(TAB).append(TAB).append(bean.getTableName()).append("\n"); bf.append(TAB).append(TAB).append("").append("\n"); for (i = 0; i < bean.getFieldList().size() - 1; i++) { FieldBean obj = bean.getFieldList().get(i); if ("id".equals(obj.getField().toLowerCase()) || "gmt_modified".equals(obj.getField())) { continue; } bf.append(TAB).append(TAB).append(TAB).append(""); bf.append(obj.getField()).append(" = #{").append(obj.getJavaCode()).append("},"); bf.append("").append("\n"); } if (bean.getFieldList().size() <= 0) { System.out.println("====================>name =" + bean.getJavaName() + ",size=" + bean.getFieldList().size()); return; } FieldBean obj = bean.getFieldList().get(bean.getFieldList().size() - 1); bf.append(TAB).append(TAB).append(TAB).append(""); bf.append(obj.getField()).append(" = #{").append(obj.getJavaCode()).append("}"); bf.append(""); bf.append(TAB).append(TAB).append(TAB).append(TAB).append("\n"); bf.append(TAB).append(TAB).append("").append("\n"); bf.append(TAB).append(TAB).append(",gmt_modified = now()").append("\n"); bf.append(TAB).append(TAB).append("where id = #{id}").append("\n"); bf.append(TAB).append("").append("\n"); ///////////////////////////////////////////////////////////////////////////////////////////////////////// bf.append("\n"); bf.append("\n"); bf.append(TAB).append("").append("\n"); bf.append(TAB).append(TAB).append("update").append("\n"); bf.append(TAB).append(TAB).append(TAB).append(bean.getTableName()).append(TAB).append("\n"); bf.append(TAB).append(TAB).append("set ").append(TAB).append("\n"); for (i = 0; i < bean.getFieldList().size() - 1; i++) { obj = bean.getFieldList().get(i); if ("id".equals(obj.getField().toLowerCase()) || "gmt_modified".equals(obj.getField())) { continue; } bf.append(TAB).append(TAB).append(TAB).append(obj.getField()).append(" = #{").append(obj.getJavaCode()).append("},\n"); } obj = bean.getFieldList().get(bean.getFieldList().size() - 1); bf.append(TAB).append(TAB).append(TAB).append(obj.getField()).append(" = #{").append(obj.getJavaCode()).append("}"); bf.append(TAB).append(TAB).append(TAB).append(TAB).append("\n"); bf.append(TAB).append(TAB).append(",gmt_modified = now()").append("\n"); bf.append(TAB).append(TAB).append("where id = #{id}").append("\n"); bf.append(TAB).append("").append("\n"); bf.append("\n"); bf.append("\n"); // 根据ID删除 bf.append(TAB).append("").append("\n"); bf.append(TAB).append(TAB).append("update ").append(bean.getTableName()).append(" set is_delete = 1 where id=#{id} limit 1 ").append("\n"); bf.append(TAB).append("").append("\n"); bf.append("\n"); bf.append("").append("\n"); bf.append("\n"); String fileName = MysqlMain.save_path + "/" + realNam2 + "Mapper.xml"; try { FileOutputStream fos = new FileOutputStream(fileName); Writer out = new OutputStreamWriter(fos, "UTF-8"); out.write(bf.toString()); out.close(); fos.close(); System.out.println("===" + realName + "Mapper.xml" + "生成"); } catch (IOException e) { e.printStackTrace(); } } public static String getXmlType(String type) { if ("date".equals(type.toLowerCase())) { return "java.util." + type; } else { return "java.lang." + type; } } }