Ejemplo n.º 1
0
 // 生成JAVA文件
 private String writeJavaString(String tableName, Object... className) {
   StringBuilder sb = new StringBuilder();
   sb.append("package " + entityPath + ";\r\n\n");
   if (f_util) {
     sb.append("import java.sql.Date;\r\n");
     sb.append("import java.sql.Timestamp;\r\n");
     sb.append("import java.text.ParseException;\r\n");
     sb.append("import java.text.SimpleDateFormat;\r\n");
   }
   if (f_sql) {
     sb.append("import java.sql.*;\r\n");
   }
   sb.append("import java.io.Serializable;\r\n");
   sb.append("import javax.persistence.Column;\r\n");
   sb.append("import javax.persistence.Entity;\r\n");
   sb.append("import javax.persistence.GeneratedValue;\r\n");
   sb.append("import javax.persistence.GenerationType;\r\n");
   sb.append("import javax.persistence.Id;\r\n");
   sb.append("import javax.persistence.Transient;\r\n");
   sb.append("import javax.persistence.Table;\r\n\n");
   sb.append("@Entity\r\n");
   sb.append("@Table(name=\"" + tableName + "\")\r\n");
   if (className.length != 0) {
     sb.append(
         "public class "
             + MyUtil.humpcap(className[0].toString())
             + " implements Serializable {\r\n\n");
   } else {
     sb.append("public class " + MyUtil.humpcap(tableName) + " implements Serializable {\r\n\n");
   }
   sb.append("\t@Transient");
   sb.append("\tprivate static final long serialVersionUID = 1L;\r\n\n");
   writeAllAttrs(sb);
   writeAllMethod(sb);
   if (className.length != 0) {
     writeHashCodeAndEquals(sb, MyUtil.humpcap(className[0].toString()));
   } else {
     writeHashCodeAndEquals(sb, MyUtil.humpcap(tableName));
   }
   sb.append("}\r\n");
   return sb.toString();
 }
Ejemplo n.º 2
0
 private void writeAllMethod(StringBuilder sb) {
   for (int i = 0; i < colNames.size(); i++) {
     String name = colNames.get(i).getColumn_name().trim();
     String type = colNames.get(i).getData_type().trim();
     String attr = MyUtil.initsmallcap(MyUtil.humpcap(name));
     sb.append(
         "\t\r\n\tpublic void set"
             + MyUtil.humpcap(name)
             + "("
             + castTpye(type)
             + " "
             + attr
             + "){\r\n");
     sb.append("\t\tthis." + attr + "=" + attr + ";\r\n");
     sb.append("\t}\r\n");
     sb.append("\t\r\n\tpublic " + castTpye(type) + " get" + MyUtil.humpcap(name) + "(){\r\n");
     sb.append("\t\treturn " + attr + ";\r\n");
     sb.append("\t}\r\n");
   }
 }
Ejemplo n.º 3
0
 // 为判断条件赋值
 private void giveValue(String tableName, Object... className) {
   for (int i = 1; i < colNames.size(); i++) {
     String type = colNames.get(i).getData_type().trim();
     if ("datetime".equalsIgnoreCase(type)
         || "date".equalsIgnoreCase(type)
         || "timestamp".equalsIgnoreCase(type)) {
       f_util = true;
     }
     if ("image".equalsIgnoreCase(type)
         || "text".equalsIgnoreCase(type)
         || "blob".equalsIgnoreCase(type)) {
       f_sql = true;
     }
   }
   if (className.length != 0) {
     writeFile(writeJavaString(tableName, className), MyUtil.humpcap(className[0].toString()));
   } else {
     writeFile(writeJavaString(tableName), MyUtil.humpcap(tableName));
   }
 }
Ejemplo n.º 4
0
 private void writeHashCodeAndEquals(StringBuilder sb, String className) {
   for (int i = 0; i < colNames.size(); i++) {
     String key = colNames.get(i).getColumn_key().trim();
     String name = colNames.get(i).getColumn_name().trim();
     String attr = MyUtil.initsmallcap(MyUtil.humpcap(name));
     if ("PRI".equalsIgnoreCase(key)) {
       sb.append("\t@Override\r\n");
       sb.append("\tpublic int hashCode() {\r\n");
       sb.append("\t\tfinal int prime = 31;\r\n");
       sb.append("\t\tint result = 1;\r\n");
       sb.append(
           "\t\tresult = prime * result + (("
               + attr
               + " == null) ? 0 : "
               + attr
               + ".hashCode());\r\n");
       sb.append("\t\treturn result;\r\n");
       sb.append("\t}\r\n\n");
       sb.append("\t@Override\r\n");
       sb.append("\tpublic boolean equals(Object obj) {\r\n");
       sb.append("\t\tif (this == obj) return true;\r\n");
       sb.append("\t\tif (obj == null) return false;\r\n");
       sb.append("\t\tif (getClass() != obj.getClass()) return false;\r\n");
       sb.append("\t\t" + className + " other = (" + className + ") obj;\r\n");
       sb.append(
           "\t\tif ("
               + attr
               + " == null) {\r\n\t\t\tif (other."
               + attr
               + " != null) return false;\r\n");
       sb.append("\t\t} else if (!" + attr + ".equals(other." + attr + ")) return false;\r\n");
       sb.append("\t\treturn true;\r\n");
       sb.append("\t}\r\n\n");
       break;
     }
   }
 }
Ejemplo n.º 5
0
 private void writeAllAttrs(StringBuilder sb) {
   for (int i = 0; i < colNames.size(); i++) {
     TableTypeLength ttl = getTpye(colNames.get(i).getColumn_type().trim());
     String name = colNames.get(i).getColumn_name().trim();
     String type = ttl.getType().trim();
     boolean isNull =
         "NO".equalsIgnoreCase(colNames.get(i).getIs_nullable().trim()) ? false : true;
     Object defVal = colNames.get(i).getColumn_default();
     String comment = colNames.get(i).getColumn_comment().trim();
     Integer length = ttl.getLength();
     String key = colNames.get(i).getColumn_key().trim();
     String str = castTpye(type);
     String attr = MyUtil.initsmallcap(MyUtil.humpcap(name));
     if ("PRI".equalsIgnoreCase(key)) {
       sb.append("\t@Id\r\n");
       sb.append("\t@GeneratedValue(strategy = GenerationType.IDENTITY)\r\n");
       sb.append(
           "\t@Column(name=\""
               + name
               + "\""
               + (length == null ? "" : ",length=" + length)
               + ",nullable="
               + isNull
               + ")"
               + (defVal == null ? "" : "//default=\"" + defVal + "\"")
               + "\r\n");
     } else {
       boolean b = "UNI".equalsIgnoreCase(key);
       if ("decimal".equalsIgnoreCase(type)
           || "numeric".equalsIgnoreCase(type)
           || "smallmoney".equalsIgnoreCase(type)
           || "real".equalsIgnoreCase(type)
           || "double".equalsIgnoreCase(type)
           || "number".equalsIgnoreCase(type)
           || "binary_double".equalsIgnoreCase(type)
           || "money".equalsIgnoreCase(type)) {
         Integer pre = ttl.getPrecision();
         if (pre != null && pre != 0) {
           sb.append(
               "\t@Column(name=\""
                   + name
                   + "\",precision="
                   + pre
                   + ",scale="
                   + ttl.getScale()
                   + ",nullable="
                   + isNull
                   + (b == true ? ",unique=true" : "")
                   + ")"
                   + (defVal == null ? "" : "//default=\"" + defVal + "\"")
                   + "\r\n");
         } else {
           sb.append(
               "\t@Column(name=\""
                   + name
                   + "\",nullable="
                   + isNull
                   + (b == true ? ",unique=true" : "")
                   + ")"
                   + (defVal == null ? "" : "//default=\"" + defVal + "\"")
                   + "\r\n");
         }
       } else {
         sb.append(
             "\t@Column(name=\""
                 + name
                 + "\""
                 + (length == null ? "" : ",length=" + length)
                 + ",nullable="
                 + isNull
                 + (b == true ? ",unique=true" : "")
                 + ")"
                 + (defVal == null ? "" : "//default=\"" + defVal + "\"")
                 + "\r\n");
       }
     }
     sb.append(
         "\tprivate "
             + str
             + " "
             + attr
             + ";"
             + (comment.trim() == "" || comment == null ? "" : "//" + comment)
             + "\r\n\n");
   }
 }