GenerateEntity.java
3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package com.taover.db;
import java.io.File;
import java.io.StringWriter;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import com.taover.base.template.model.po.ColumnModel;
import com.taover.base.template.model.po.PoModel;
import com.taover.base.template.model.po.TableModel;
import com.taover.ui.UiUtils;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class GenerateEntity {
public static void generateEntity(String sOutputPath, String sDBPackagePath, Vector<TableColumn> ColumnsInTable) throws Exception {
String sJavaBeanName = ColumnsInTable.get(0).getTableBeanUName();
String sTableName = ColumnsInTable.get(0).getTableName();
String sPackagePath = sDBPackagePath;
TableModel tm = createEntityModel(ColumnsInTable);
StringWriter out = new StringWriter();
PoModel cif = new PoModel();
cif.setPackages(sPackagePath.toLowerCase() + ";");
cif.setUsers("taover.com");
cif.setVersion("1.0");
cif.setName(sJavaBeanName);
cif.setToStringMethodBody(getPOToString(ColumnsInTable));
cif.setTablemodel(tm);
File f = new File(UiUtils.getProjectRoot() + Constants.TEMPATE_PATH);
Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(f);
cfg.setDefaultEncoding("utf-8");
Template template = cfg.getTemplate(Constants.TEMPATE_ENTITYNAME);
template.process(cif, out);
Tools.createFile(sOutputPath.toLowerCase(), sJavaBeanName + "Entity.java", out.toString());
}
public static TableModel createEntityModel(Vector<TableColumn> ColumnsInTable) throws Exception {
TableModel tm = new TableModel();
List<ColumnModel> clist = new ArrayList<ColumnModel>();
int len = ColumnsInTable.size();
for (int i = 0; i < len; i++) {
TableColumn colum = ColumnsInTable.get(i);
ColumnModel cm = new ColumnModel();
String sColumnBeanName = colum.getColumBeanLName();
String sSetColumnBeanName = colum.getColumBeanUName();
cm.setColumnName(sColumnBeanName);
cm.setColumnUName(colum.getColumnName());
cm.setColumnMethodName(sSetColumnBeanName);
cm.setColumnRemarks(colum.getRemarks());
cm.setColumnJAVAType(colum.getJAVADataType());
cm.setPrimaryKey(colum.isPrimaryKey());
clist.add(cm);
}
tm.setColumnlist(clist);
tm.setTableName(ColumnsInTable.get(0).getTableName());
return tm;
}
public static String getPOToString(Vector<TableColumn> ColumnsInTable) throws SQLException {
StringBuffer returnbuffer = new StringBuffer();
returnbuffer.append("[");
int iLen = ColumnsInTable.size() - 1;
for (int i = 0; i <= iLen; i++) {
TableColumn colum = ColumnsInTable.get(i);
String tempName = colum.getColumBeanLName();
if (i == iLen) {
if (i == 0) {
returnbuffer.append(tempName).append("=").append("\"").append("+").append(tempName);
}else{
returnbuffer.append("\",").append(tempName).append("=").append("\"").append("+").append(tempName);
}
} else {
if (i == 0) {
returnbuffer.append(tempName).append("=").append("\"").append("+").append(tempName).append("+");
}else{
returnbuffer.append("\",").append(tempName).append("=").append("\"").append("+").append(tempName).append("+");
}
}
}
returnbuffer.append("+\"]\"");
return returnbuffer.toString();
}
}