package com.taover.codegenerate.bazhuayun.model; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.Vector; import com.taover.codegenerate.core.MysqlTableColumn; import com.taover.codegenerate.model.po.ColumnModel; import com.taover.codegenerate.model.po.TableModel; import com.taover.codegenerate.tools.StringUtil; public class ApiModel { private String basePackage; private String version; private String dtoClassSimpleName; private String entityClassSimpleName; private String serviceClassSimpleName; private String serviceClassFieldName; private String serviceImplClassSimpleName; private String repositoryClassSimpleName; private String repositoryClassFieldName; private String voClassSimpleName; private String controllerMap; private String controllerClassName; private String toStringMethodBody; private TableModel tablemodel; public ApiModel(String dbName, String tableName, Vector columnsInTable, String version, String basePackage) throws SQLException{ this.tablemodel = createTableModel(dbName, columnsInTable); this.version = version; this.basePackage = basePackage; String classSimpleNamePreffix = StringUtil.formatBeanNameFirstUpper(tableName); String classFieldNamePreffix = StringUtil.formatBeanNameFirstLow(tableName); this.dtoClassSimpleName = classSimpleNamePreffix+"Dto"; this.entityClassSimpleName = classSimpleNamePreffix+"Entity"; this.repositoryClassFieldName = classFieldNamePreffix+"Repository"; this.repositoryClassSimpleName = classSimpleNamePreffix+"Repository"; this.serviceClassFieldName = classFieldNamePreffix+"Service"; this.serviceClassSimpleName = classSimpleNamePreffix+"Service"; this.serviceImplClassSimpleName = classSimpleNamePreffix+"ServiceImpl"; this.voClassSimpleName = classSimpleNamePreffix+"Vo"; this.toStringMethodBody = getEntityToString(columnsInTable); this.controllerClassName = classSimpleNamePreffix+"Controller"; this.controllerMap = tableName.replace("_", ""); } private String getEntityToString(Vector ColumnsInTable) throws SQLException { StringBuffer returnbuffer = new StringBuffer(); returnbuffer.append("["); int iLen = ColumnsInTable.size() - 1; for (int i = 0; i <= iLen; i++) { MysqlTableColumn 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(); } private TableModel createTableModel(String dbName, Vector columnsInTable){ TableModel tm = new TableModel(); List clist = new ArrayList(); int len = columnsInTable.size(); for (int i = 0; i < len; i++) { MysqlTableColumn 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()); tm.setSchemeName(dbName); return tm; } public String getBasePackage() { return basePackage; } public void setBasePackage(String basePackage) { this.basePackage = basePackage; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public String getDtoClassSimpleName() { return dtoClassSimpleName; } public void setDtoClassSimpleName(String dtoClassSimpleName) { this.dtoClassSimpleName = dtoClassSimpleName; } public String getEntityClassSimpleName() { return entityClassSimpleName; } public void setEntityClassSimpleName(String entityClassSimpleName) { this.entityClassSimpleName = entityClassSimpleName; } public String getServiceClassSimpleName() { return serviceClassSimpleName; } public void setServiceClassSimpleName(String serviceClassSimpleName) { this.serviceClassSimpleName = serviceClassSimpleName; } public String getServiceClassFieldName() { return serviceClassFieldName; } public void setServiceClassFieldName(String serviceClassFieldName) { this.serviceClassFieldName = serviceClassFieldName; } public String getServiceImplClassSimpleName() { return serviceImplClassSimpleName; } public void setServiceImplClassSimpleName(String serviceImplClassSimpleName) { this.serviceImplClassSimpleName = serviceImplClassSimpleName; } public String getRepositoryClassSimpleName() { return repositoryClassSimpleName; } public void setRepositoryClassSimpleName(String repositoryClassSimpleName) { this.repositoryClassSimpleName = repositoryClassSimpleName; } public String getRepositoryClassFieldName() { return repositoryClassFieldName; } public void setRepositoryClassFieldName(String repositoryClassFieldName) { this.repositoryClassFieldName = repositoryClassFieldName; } public String getVoClassSimpleName() { return voClassSimpleName; } public void setVoClassSimpleName(String voClassSimpleName) { this.voClassSimpleName = voClassSimpleName; } public String getControllerMap() { return controllerMap; } public void setControllerMap(String controllerMap) { this.controllerMap = controllerMap; } public String getControllerClassName() { return controllerClassName; } public void setControllerClassName(String controllerClassName) { this.controllerClassName = controllerClassName; } public String getToStringMethodBody() { return toStringMethodBody; } public void setToStringMethodBody(String toStringMethodBody) { this.toStringMethodBody = toStringMethodBody; } public TableModel getTablemodel() { return tablemodel; } public void setTablemodel(TableModel tablemodel) { this.tablemodel = tablemodel; } }