初始化
parent
511839ac99
commit
cb5c857001
@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<project
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||||
|
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>com.jwsaas</groupId>
|
||||||
|
<artifactId>food-parent</artifactId>
|
||||||
|
<version>2.0.0</version>
|
||||||
|
</parent>
|
||||||
|
<artifactId>food-pdm-tools</artifactId>
|
||||||
|
<name>food-pdm-tools</name>
|
||||||
|
<url>http://maven.apache.org</url>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<freemarker.version>2.3.23</freemarker.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.commons</groupId>
|
||||||
|
<artifactId>commons-lang3</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!-- freemarker -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.freemarker</groupId>
|
||||||
|
<artifactId>freemarker</artifactId>
|
||||||
|
<version>${freemarker.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
@ -0,0 +1,86 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse;
|
||||||
|
|
||||||
|
public class CamelCaseUtils {
|
||||||
|
|
||||||
|
private static final char SEPARATOR = '_';
|
||||||
|
|
||||||
|
public static String toUnderlineName(String s) {
|
||||||
|
if (s == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
boolean upperCase = false;
|
||||||
|
for (int i = 0; i < s.length(); i++) {
|
||||||
|
char c = s.charAt(i);
|
||||||
|
|
||||||
|
boolean nextUpperCase = true;
|
||||||
|
|
||||||
|
if (i < (s.length() - 1)) {
|
||||||
|
nextUpperCase = Character.isUpperCase(s.charAt(i + 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((i >= 0) && Character.isUpperCase(c)) {
|
||||||
|
if (!upperCase || !nextUpperCase) {
|
||||||
|
if (i > 0)
|
||||||
|
sb.append(SEPARATOR);
|
||||||
|
}
|
||||||
|
upperCase = true;
|
||||||
|
} else {
|
||||||
|
upperCase = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
sb.append(Character.toLowerCase(c));
|
||||||
|
}
|
||||||
|
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String toCamelCase(String s) {
|
||||||
|
if (s == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
s = s.toLowerCase();
|
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder(s.length());
|
||||||
|
boolean upperCase = false;
|
||||||
|
for (int i = 0; i < s.length(); i++) {
|
||||||
|
char c = s.charAt(i);
|
||||||
|
|
||||||
|
if (c == SEPARATOR) {
|
||||||
|
upperCase = true;
|
||||||
|
} else if (upperCase) {
|
||||||
|
sb.append(Character.toUpperCase(c));
|
||||||
|
upperCase = false;
|
||||||
|
} else {
|
||||||
|
sb.append(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 首字母小写
|
||||||
|
*
|
||||||
|
* @param s
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String toCapitalizeCamelCase(String s) {
|
||||||
|
if (s == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
s = toCamelCase(s);
|
||||||
|
return s.substring(0, 1).toUpperCase() + s.substring(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println(CamelCaseUtils.toUnderlineName("ISOCertifiedStaff"));
|
||||||
|
System.out.println(CamelCaseUtils.toUnderlineName("CertifiedStaff"));
|
||||||
|
System.out.println(CamelCaseUtils.toUnderlineName("UserID"));
|
||||||
|
System.out.println(CamelCaseUtils.toCamelCase("iso_certified_staff"));
|
||||||
|
System.out.println(CamelCaseUtils.toCamelCase("certified_staff"));
|
||||||
|
System.out.println(CamelCaseUtils.toCamelCase("user_id"));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,75 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.bean;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 表分类信息
|
||||||
|
*
|
||||||
|
* @author 张莹
|
||||||
|
*/
|
||||||
|
public class Category {
|
||||||
|
private String id;
|
||||||
|
private String name; // PDM名称
|
||||||
|
private String code; // PDM代码
|
||||||
|
private String author; // 作者
|
||||||
|
private String comment; // 注释
|
||||||
|
|
||||||
|
private List<Table> tableList = new ArrayList<Table>();
|
||||||
|
|
||||||
|
public Category(String name, String code, String author, String comment) {
|
||||||
|
super();
|
||||||
|
this.name = name;
|
||||||
|
this.code = code;
|
||||||
|
this.author = author;
|
||||||
|
this.comment = comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCode(String code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAuthor() {
|
||||||
|
return author;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAuthor(String author) {
|
||||||
|
this.author = author;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getComment() {
|
||||||
|
return comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComment(String comment) {
|
||||||
|
this.comment = comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Table> getTableList() {
|
||||||
|
return tableList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTableList(List<Table> tableList) {
|
||||||
|
this.tableList = tableList;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,227 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.bean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 表字段信息
|
||||||
|
*
|
||||||
|
* @author 张莹
|
||||||
|
*/
|
||||||
|
public class Column {
|
||||||
|
private String id;
|
||||||
|
private String code; // 字段代码
|
||||||
|
private String scode; // 简化后的表代码, 主要是去调前缀,比如BASE_USER-->USER
|
||||||
|
private String name; // 字段含义
|
||||||
|
private String type; // 原始类型及长度
|
||||||
|
private int length;
|
||||||
|
private int precision;
|
||||||
|
private String domainId; // 定义的数据域ID
|
||||||
|
private boolean pkFlag; // 是否为主键
|
||||||
|
private boolean nullFlag; // 是否可以为空
|
||||||
|
private boolean uniqueFlag; // 是否唯一
|
||||||
|
private Table ref;// 关联表
|
||||||
|
private String refId; // 关联表字段ID
|
||||||
|
private String comment; // 注释
|
||||||
|
|
||||||
|
private Domain domain;
|
||||||
|
|
||||||
|
private static final String[] STRING = { "varchar", "text", "tinytext", "longtext", "bigint" };
|
||||||
|
private static final String[] DATE = { "date", "datetime", "time", "timestamp" };
|
||||||
|
private static final String[] INT = { "int" };
|
||||||
|
private static final String[] LONG = { "decimal" };
|
||||||
|
private static final String[] DOUBLE = { "decimal" };
|
||||||
|
|
||||||
|
public Column() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Column(String id, String code, String name, String type, int length, int precision) {
|
||||||
|
this.id = id;
|
||||||
|
this.code = code;
|
||||||
|
this.name = name;
|
||||||
|
this.type = type;
|
||||||
|
this.length = length;
|
||||||
|
this.precision = precision;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuffer sb = new StringBuffer().append(id);
|
||||||
|
sb.append("\t").append(name).append("(").append(code).append("--").append(scode).append(")");
|
||||||
|
sb.append("\t").append(type);
|
||||||
|
if (nullFlag)
|
||||||
|
sb.append("\tNot Null");
|
||||||
|
if (pkFlag)
|
||||||
|
sb.append("\tPrimary Key");
|
||||||
|
if (uniqueFlag)
|
||||||
|
sb.append("\tUnique");
|
||||||
|
if (ref != null) {
|
||||||
|
sb.append("\t-->").append(ref.getId()).append("(").append(ref.getCode()).append(").").append(refId).append("(").append(ref.getColumnInfo(refId).getCode()).append(")");
|
||||||
|
}
|
||||||
|
if (domain != null)
|
||||||
|
sb.append("\tdomainId:").append(domainId);
|
||||||
|
if (comment != null)
|
||||||
|
sb.append("\t//").append(comment);
|
||||||
|
return sb.append("\r\n").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCode(String code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDomainId() {
|
||||||
|
return domainId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDomainId(String domainId) {
|
||||||
|
this.domainId = domainId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isPkFlag() {
|
||||||
|
return pkFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPkFlag(boolean pkFlag) {
|
||||||
|
this.pkFlag = pkFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isNullFlag() {
|
||||||
|
return nullFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNullFlag(boolean nullFlag) {
|
||||||
|
this.nullFlag = nullFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isUniqueFlag() {
|
||||||
|
return uniqueFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUniqueFlag(boolean uniqueFlag) {
|
||||||
|
this.uniqueFlag = uniqueFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRefId() {
|
||||||
|
return refId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRefId(String refId) {
|
||||||
|
this.refId = refId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Table getRef() {
|
||||||
|
return ref;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRef(Table ref) {
|
||||||
|
this.ref = ref;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getComment() {
|
||||||
|
return comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComment(String comment) {
|
||||||
|
this.comment = comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Domain getDomain() {
|
||||||
|
return domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDomain(Domain domain) {
|
||||||
|
this.domain = domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLength() {
|
||||||
|
return length;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLength(int length) {
|
||||||
|
this.length = length;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPrecision() {
|
||||||
|
return precision;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPrecision(int precision) {
|
||||||
|
this.precision = precision;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getScode() {
|
||||||
|
return scode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setScode(String scode) {
|
||||||
|
this.scode = scode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJavaType() {
|
||||||
|
|
||||||
|
String dataType = this.type;
|
||||||
|
int pos = this.type.indexOf("(");
|
||||||
|
if (pos != -1) {
|
||||||
|
dataType = this.type.substring(0, pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("char".equalsIgnoreCase(dataType) && length == 1)
|
||||||
|
return "Boolean";
|
||||||
|
for (String type : STRING) {
|
||||||
|
if (type.equalsIgnoreCase(dataType))
|
||||||
|
return "String";
|
||||||
|
}
|
||||||
|
for (String type : DATE) {
|
||||||
|
if (type.equalsIgnoreCase(dataType))
|
||||||
|
return "Date";
|
||||||
|
}
|
||||||
|
|
||||||
|
for (String type : INT) {
|
||||||
|
if (type.equalsIgnoreCase(dataType))
|
||||||
|
return "Integer";
|
||||||
|
}
|
||||||
|
for (String type : LONG) {
|
||||||
|
if (type.equalsIgnoreCase(dataType)) {
|
||||||
|
if (precision != 0) {
|
||||||
|
return "Double";
|
||||||
|
} else
|
||||||
|
return "Long";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
for (String type : DOUBLE) {
|
||||||
|
dataType = dataType.toLowerCase();
|
||||||
|
if (dataType.startsWith(type)) {
|
||||||
|
return "Double";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println("未知的数据类型:" + dataType);
|
||||||
|
return "Serializable";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,70 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.bean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据类型域类
|
||||||
|
*
|
||||||
|
* @author 张莹
|
||||||
|
*/
|
||||||
|
public class Domain {
|
||||||
|
private String id;
|
||||||
|
private String name; // 名称
|
||||||
|
private String code; // 代码
|
||||||
|
private String type; // 数据类型
|
||||||
|
private String comment; // 注释
|
||||||
|
|
||||||
|
public Domain(String id, String name, String code) {
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuffer sb = new StringBuffer().append(id);
|
||||||
|
sb.append("\t").append(name).append("(").append(code).append(")");
|
||||||
|
sb.append("\t").append(type);
|
||||||
|
if (comment != null)
|
||||||
|
sb.append("\t//").append(comment);
|
||||||
|
return sb.append("\r\n").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCode(String code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getComment() {
|
||||||
|
return comment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComment(String comment) {
|
||||||
|
this.comment = comment;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,51 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.bean;
|
||||||
|
|
||||||
|
import java.text.MessageFormat;
|
||||||
|
import java.util.MissingResourceException;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
public class Messages {
|
||||||
|
private static final String BUNDLE_NAME = "com.baoyuan.bean.messages"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
|
||||||
|
.getBundle(BUNDLE_NAME);
|
||||||
|
|
||||||
|
private Messages() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getString(String key) {
|
||||||
|
try {
|
||||||
|
return RESOURCE_BUNDLE.getString(key);
|
||||||
|
} catch (MissingResourceException e) {
|
||||||
|
return '!' + key + '!';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getString(String key, String parm1) {
|
||||||
|
try {
|
||||||
|
return MessageFormat.format(RESOURCE_BUNDLE.getString(key),
|
||||||
|
new Object[] { parm1 });
|
||||||
|
} catch (MissingResourceException e) {
|
||||||
|
return '!' + key + '!';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getString(String key, String parm1, String parm2) {
|
||||||
|
try {
|
||||||
|
return MessageFormat.format(RESOURCE_BUNDLE.getString(key),
|
||||||
|
new Object[] { parm1, parm2 });
|
||||||
|
} catch (MissingResourceException e) {
|
||||||
|
return '!' + key + '!';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getString(String key, String parm1, String parm2,
|
||||||
|
String parm3) {
|
||||||
|
try {
|
||||||
|
return MessageFormat.format(RESOURCE_BUNDLE.getString(key),
|
||||||
|
new Object[] { parm1, parm2, parm3 });
|
||||||
|
} catch (MissingResourceException e) {
|
||||||
|
return '!' + key + '!';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,164 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.bean;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PDM项目信息
|
||||||
|
*/
|
||||||
|
public class Project {
|
||||||
|
private String code; // 项目代码
|
||||||
|
private String name; // 项目名称
|
||||||
|
private String author; // 作者
|
||||||
|
private String version; // 版本
|
||||||
|
private Date cdate; // 创建日期
|
||||||
|
|
||||||
|
private Map<String, Domain> domains = new HashMap<String, Domain>();
|
||||||
|
private List<Category> categoryList = new ArrayList<Category>();
|
||||||
|
private List<Table> tableList = new ArrayList<Table>(); // 表列表
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取指定ID的表定义信息
|
||||||
|
*
|
||||||
|
* @param oid
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Table getTable(String oid) {
|
||||||
|
for (int i = 0; i < tableList.size(); i++)
|
||||||
|
if (((Table) tableList.get(i)).getId().equals(oid))
|
||||||
|
return ((Table) tableList.get(i));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置表关联
|
||||||
|
*
|
||||||
|
* @param soid
|
||||||
|
* @param toid
|
||||||
|
* @param sfoid
|
||||||
|
* @param tfoid
|
||||||
|
*/
|
||||||
|
public void setFK(String soid, String toid, String sfoid, String tfoid) {
|
||||||
|
Table t1 = getTable(soid);
|
||||||
|
Table t2 = getTable(toid);
|
||||||
|
if (t1 == null || t2 == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Column col1 = t1.getColumnInfo(sfoid);
|
||||||
|
Column col2 = t2.getColumnInfo(tfoid);
|
||||||
|
if (col1 == null || col2 == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
col1.setRef(t2);
|
||||||
|
col1.setRefId(tfoid);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取指定的PDM分类
|
||||||
|
*
|
||||||
|
* @param cateId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Category getCategory(String cateId) {
|
||||||
|
for (Category cate : categoryList) {
|
||||||
|
if (cateId.equals(cate.getId()))
|
||||||
|
return cate;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuffer sb = new StringBuffer().append(name);
|
||||||
|
sb.append("(").append(code).append(")\tAuthor:").append(author);
|
||||||
|
sb.append(" Version:").append(version);
|
||||||
|
sb.append(" Create time:").append(cdate);
|
||||||
|
sb.append(" ").append(domains.size()).append(" domains");
|
||||||
|
sb.append(" ").append(categoryList.size()).append(" pdms");
|
||||||
|
sb.append(" ").append(tableList.size()).append(" tables");
|
||||||
|
sb.append("\r\n");
|
||||||
|
|
||||||
|
if (domains.size() > 0) {
|
||||||
|
sb.append("Domain List:\r\n");
|
||||||
|
for (Entry<String, Domain> entry : domains.entrySet()) {
|
||||||
|
sb.append("\t").append(entry.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tableList.size() > 0) {
|
||||||
|
sb.append("Table List:\r\n");
|
||||||
|
for (Table table : tableList) {
|
||||||
|
sb.append("\t").append(table);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sb.append("\r\n").toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCode(String code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAuthor() {
|
||||||
|
return author;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAuthor(String author) {
|
||||||
|
this.author = author;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVersion() {
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVersion(String version) {
|
||||||
|
this.version = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getCdate() {
|
||||||
|
return cdate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCdate(Date cdate) {
|
||||||
|
this.cdate = cdate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Category> getCategoryList() {
|
||||||
|
return categoryList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCategoryList(List<Category> categoryList) {
|
||||||
|
this.categoryList = categoryList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Table> getTableList() {
|
||||||
|
return tableList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTableList(List<Table> tableList) {
|
||||||
|
this.tableList = tableList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, Domain> getDomains() {
|
||||||
|
return domains;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDomains(Map<String, Domain> domains) {
|
||||||
|
this.domains = domains;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,49 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.bean;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class TableSchema implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -1258282486852764827L;
|
||||||
|
|
||||||
|
private String columnName;
|
||||||
|
|
||||||
|
private String isNullable;
|
||||||
|
|
||||||
|
private String dataType;
|
||||||
|
|
||||||
|
private String columnComment;
|
||||||
|
|
||||||
|
public String getColumnName() {
|
||||||
|
return columnName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColumnName(String columnName) {
|
||||||
|
this.columnName = columnName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIsNullable() {
|
||||||
|
return isNullable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsNullable(String isNullable) {
|
||||||
|
this.isNullable = isNullable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDataType() {
|
||||||
|
return dataType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDataType(String dataType) {
|
||||||
|
this.dataType = dataType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getColumnComment() {
|
||||||
|
return columnComment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColumnComment(String columnComment) {
|
||||||
|
this.columnComment = columnComment;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.exceptions;
|
||||||
|
|
||||||
|
public class DataSourceDescriptorException extends RuntimeException{
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 5082299003855826096L;
|
||||||
|
|
||||||
|
public DataSourceDescriptorException() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataSourceDescriptorException(Throwable e) {
|
||||||
|
super(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataSourceDescriptorException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DataSourceDescriptorException(String message,Throwable e) {
|
||||||
|
super(message, e);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,60 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.exceptions;
|
||||||
|
|
||||||
|
public class ErrorContext {
|
||||||
|
|
||||||
|
private static final String LINE_SEPARATOR = System.getProperty("line.separator", "\n");
|
||||||
|
private static final ThreadLocal<ErrorContext> LOCAL = new ThreadLocal<ErrorContext>();
|
||||||
|
|
||||||
|
private String message;
|
||||||
|
|
||||||
|
private Throwable cause;
|
||||||
|
|
||||||
|
private ErrorContext() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ErrorContext instance() {
|
||||||
|
ErrorContext context = LOCAL.get();
|
||||||
|
if (context == null) {
|
||||||
|
context = new ErrorContext();
|
||||||
|
LOCAL.set(context);
|
||||||
|
}
|
||||||
|
return context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ErrorContext message(String message) {
|
||||||
|
this.message = message;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ErrorContext cause(Throwable cause) {
|
||||||
|
this.cause = cause;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ErrorContext reset() {
|
||||||
|
message = null;
|
||||||
|
cause = null;
|
||||||
|
LOCAL.remove();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
StringBuffer description = new StringBuffer();
|
||||||
|
|
||||||
|
// message
|
||||||
|
if (this.message != null) {
|
||||||
|
description.append(LINE_SEPARATOR);
|
||||||
|
description.append("### ");
|
||||||
|
description.append(this.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
// cause
|
||||||
|
if (cause != null) {
|
||||||
|
description.append(LINE_SEPARATOR);
|
||||||
|
description.append("### Cause: ");
|
||||||
|
description.append(cause.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
return description.toString();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,60 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.exceptions;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Administrator
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ExceptionFactory {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ServiceException
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param e
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static RuntimeException wrapServiceException(String message, Exception e) {
|
||||||
|
return new ServiceException(ErrorContext.instance().message(message).cause(e).toString(), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ValidationException
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param e
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static RuntimeException wrapValidationException(String message, Throwable e, Map<String, String> result) {
|
||||||
|
return new ValidationException(ErrorContext.instance().message(message).cause(e).toString(), e, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataSourceDescriptorException
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param e
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static RuntimeException wrapDataSourceDescriptorException(String message, Exception e) {
|
||||||
|
return new DataSourceDescriptorException(ErrorContext.instance().message(message).cause(e).toString(), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataSourceDescriptorException
|
||||||
|
*
|
||||||
|
* @param message
|
||||||
|
* @param e
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static RuntimeException wrapDataSourceDescriptorException(String message) {
|
||||||
|
return new DataSourceDescriptorException(ErrorContext.instance().message(message).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static RuntimeException wrapForeignKeyException(String message, Exception e) {
|
||||||
|
return new ForeignKeyException(ErrorContext.instance().message(message).cause(e).toString(), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.exceptions;
|
||||||
|
|
||||||
|
public class ForeignKeyException extends RuntimeException{
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 3053852074986193714L;
|
||||||
|
|
||||||
|
public ForeignKeyException() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ForeignKeyException(Throwable e) {
|
||||||
|
super(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ForeignKeyException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ForeignKeyException(String message,Throwable e) {
|
||||||
|
super(message, e);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.exceptions;
|
||||||
|
|
||||||
|
public class ServiceException extends RuntimeException {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -1095971671427544722L;
|
||||||
|
|
||||||
|
public ServiceException() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ServiceException(Throwable e) {
|
||||||
|
super(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ServiceException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ServiceException(String message,Throwable e) {
|
||||||
|
super(message, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.jwsaas.powerdesign.parse.exceptions;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class ValidationException extends RuntimeException{
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -4820402020206751860L;
|
||||||
|
|
||||||
|
private Map<String,String> result;
|
||||||
|
|
||||||
|
public ValidationException() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ValidationException(String message,Throwable e,Map<String,String> result) {
|
||||||
|
super(message, e);
|
||||||
|
this.result = result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getResult() {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
package ${basePackage}.dao<#if sign != "shared">.${sign}</#if>.impl;
|
||||||
|
|
||||||
|
import ${basePackage}.dao<#if sign != "shared">.${sign}</#if>.${scode}Dao;
|
||||||
|
import ${basePackage}.entity<#if sign != "shared">.${sign}</#if>.${scode};
|
||||||
|
<#if sign != "shared">import com.jwsaas.dao.impl.BaseDaoImpl;</#if>
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ${name}数据接口实现
|
||||||
|
*/
|
||||||
|
@Repository(${signPackage} + "${scode}DaoImpl")
|
||||||
|
public class ${scode}DaoImpl extends BaseDaoImpl<${scode}, String> implements ${scode}Dao {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package ${basePackage}.dao<#if sign != "shared">.${sign}</#if>;
|
||||||
|
|
||||||
|
import ${basePackage}.entity<#if sign != "shared">.${sign}</#if>.${scode};
|
||||||
|
<#if sign != "shared">import com.jwsaas.dao.BaseDao;</#if>
|
||||||
|
|
||||||
|
public interface ${scode}Dao extends BaseDao<${scode}, String> {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,51 @@
|
|||||||
|
package ${basePackage}.entity<#if sign != "shared">.${sign}</#if>;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import org.apache.ibatis.type.Alias;
|
||||||
|
<#if sign != "shared">import com.jwsaas.entity.BaseEntity;</#if>
|
||||||
|
|
||||||
|
//Generated from PowerDesigner file ,Written by 张莹.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 表名称:${name}
|
||||||
|
* 表代码:${code}
|
||||||
|
*/
|
||||||
|
@Alias(${signPackage}+"${scode}")
|
||||||
|
public class ${scode} extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = ${serialVersionUID}L;
|
||||||
|
|
||||||
|
<#assign ignore = ["id", "tenantId", "createUser", "createDate", "modifyUser", "modifyDate"]>
|
||||||
|
<#list columns as column>
|
||||||
|
<#if ignore?seq_contains(column.scode)==false>
|
||||||
|
/**
|
||||||
|
*${column.name}
|
||||||
|
*/
|
||||||
|
private ${column.javaType} ${column.scode};
|
||||||
|
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
|
||||||
|
<#list columns as column>
|
||||||
|
<#if ignore?seq_contains(column.scode)==false>
|
||||||
|
/**
|
||||||
|
* 字段名称 :${column.name}
|
||||||
|
* 数据类型 :${column.type}
|
||||||
|
* 是否必填 :${column.nullFlag?string('true','false')}
|
||||||
|
*/
|
||||||
|
public ${column.javaType} get${column.scode?cap_first}() {
|
||||||
|
return this.${column.scode};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字段名称 :${column.name}
|
||||||
|
* 数据类型 :${column.type}
|
||||||
|
* 是否必填 :${column.nullFlag?string('true','false')}
|
||||||
|
*/
|
||||||
|
public void set${column.scode?cap_first}(${column.javaType} ${column.scode}) {
|
||||||
|
this.${column.scode} = ${column.scode};
|
||||||
|
}
|
||||||
|
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
}
|
@ -0,0 +1,118 @@
|
|||||||
|
<#macro mapperEl value>${r"#{"}${value}}</#macro>
|
||||||
|
<#macro jspEl value>${r"${"}${value}}</#macro>
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="${basePackage}.entity<#if sign != "shared">.${sign}</#if>.${scode}Mapper">
|
||||||
|
|
||||||
|
<sql id="columnList">
|
||||||
|
<#list columns as column>`${column.scode}`<#if column_has_next>,</#if></#list>
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="get" resultType="${sign}${scode}">
|
||||||
|
select
|
||||||
|
<include refid="columnList" />
|
||||||
|
from ${code}
|
||||||
|
where id = <@mapperEl 'id'/>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="find" resultType="${sign}${scode}">
|
||||||
|
select
|
||||||
|
<include refid="columnList" />
|
||||||
|
from ${code}
|
||||||
|
where tenantId = <@mapperEl 'tenantId'/> and <@jspEl 'property'/>=<@mapperEl 'value'/>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="findList" resultType="${sign}${scode}">
|
||||||
|
select
|
||||||
|
<include refid="columnList" />
|
||||||
|
from ${code}
|
||||||
|
where tenantId = <@mapperEl 'tenantId'/> and <@jspEl 'property'/>=<@mapperEl 'value'/>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="findListByIds" parameterType="java.lang.String"
|
||||||
|
resultType="${sign}${scode}">
|
||||||
|
select
|
||||||
|
<include refid="columnList" />
|
||||||
|
from ${code}
|
||||||
|
where `id` in
|
||||||
|
<foreach collection="list" item="id" index="index" open="(" close=")" separator=","><@mapperEl 'id'/></foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getPager" resultType="${sign}${scode}">
|
||||||
|
select
|
||||||
|
<include refid="columnList" />
|
||||||
|
from ${code}
|
||||||
|
<if test="(@com.jwsaas.utils.OgnlUtils@isEmpty(condition))!=null"><@jspEl 'condition'/></if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getList" resultType="${sign}${scode}">
|
||||||
|
select
|
||||||
|
<include refid="columnList" />
|
||||||
|
from ${code}
|
||||||
|
<if test="(@com.jwsaas.utils.OgnlUtils@isEmpty(condition))!=null"><@jspEl 'condition'/></if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getTotalCount" resultType="java.lang.Long">
|
||||||
|
select count(id) as result
|
||||||
|
from ${code} where `tenantId` = <@mapperEl 'tenantId'/>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="isExist" resultType="java.lang.Boolean">
|
||||||
|
select count(id) as result from ${code}
|
||||||
|
where `tenantId` = <@mapperEl 'tenantId'/> and <@jspEl 'property'/>=<@mapperEl 'value'/>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="save" parameterType="${sign}${scode}"
|
||||||
|
useGeneratedKeys="true" keyProperty="id">
|
||||||
|
insert into ${code}
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
`id`,`tenantId`
|
||||||
|
<#assign ignore = ["id", "tenantId", "modifyUser", "modifyDate"]>
|
||||||
|
<#list columns as column>
|
||||||
|
<#if ignore?seq_contains(column.scode)==false>
|
||||||
|
<if test="${column.scode} != null">,`${column.scode}`</if>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<@mapperEl 'id'/>,<@mapperEl 'tenantId'/>
|
||||||
|
<#assign ignore = ["id", "tenantId", "modifyUser", "modifyDate"]>
|
||||||
|
<#list columns as column>
|
||||||
|
<#if ignore?seq_contains(column.scode)==false>
|
||||||
|
<if test="${column.scode} != null">,<@mapperEl '${column.scode}'/></if>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="update" parameterType="${sign}${scode}">
|
||||||
|
update ${code}
|
||||||
|
<set>
|
||||||
|
`tenantId` = <@mapperEl 'tenantId'/>
|
||||||
|
<#assign ignore = ["id", "tenantId", "createUser", "createDate"]>
|
||||||
|
<#list columns as column>
|
||||||
|
<#if ignore?seq_contains(column.scode)==false>
|
||||||
|
<if test="${column.scode} != null">,`${column.scode}` = <@mapperEl '${column.scode}'/></if>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
</set>
|
||||||
|
where `id` = <@mapperEl 'id'/>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="delete">
|
||||||
|
delete from ${code}
|
||||||
|
where `id` = <@mapperEl 'id'/>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteByCriteria">
|
||||||
|
delete from ${code}
|
||||||
|
<if test="(@com.jwsaas.utils.OgnlUtils@isEmpty(condition))!=null"><@jspEl 'condition'/></if>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteByProperty">
|
||||||
|
delete from ${code}
|
||||||
|
where `tenantId` = <@mapperEl 'tenantId'/> and <@jspEl 'property'/>=<@mapperEl 'value'/>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,26 @@
|
|||||||
|
package ${basePackage}.service<#if sign != "shared">.${sign}</#if>.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import ${basePackage}.dao.BaseDao;
|
||||||
|
import ${basePackage}.dao<#if sign != "shared">.${sign}</#if>.${scode}Dao;
|
||||||
|
import ${basePackage}.entity<#if sign != "shared">.${sign}</#if>.${scode};
|
||||||
|
import ${basePackage}.service<#if sign != "shared">.${sign}</#if>.${scode}Service;
|
||||||
|
<#if sign != "shared">import com.jwsaas.service.impl.BaseServiceImpl;</#if>
|
||||||
|
|
||||||
|
@Service(${signPackage}+"${scode}ServiceImpl")
|
||||||
|
public class ${scode}ServiceImpl extends BaseServiceImpl<${scode}, String> implements ${scode}Service{
|
||||||
|
|
||||||
|
@Resource(name=${signPackage}+"${scode}DaoImpl")
|
||||||
|
private ${scode}Dao ${scode?uncap_first}Dao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BaseDao<${scode}, String> getBaseDao() {
|
||||||
|
return this.${scode?uncap_first}Dao;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
|||||||
|
package ${basePackage}.service<#if sign != "shared">.${sign}</#if>;
|
||||||
|
|
||||||
|
import ${basePackage}.entity<#if sign != "shared">.${sign}</#if>.${scode};
|
||||||
|
<#if sign != "shared">import com.jwsaas.service.BaseService;</#if>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ${name}数据接口
|
||||||
|
*/
|
||||||
|
public interface ${scode}Service extends BaseService<${scode}, String> {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
<#macro mapperEl value>${r"#{"}${value}}</#macro>
|
||||||
|
<#macro jspEl value>${r"${"}${value}}</#macro>
|
||||||
|
<!--服务引用部分开始-->
|
||||||
|
<#list tableList as table>
|
||||||
|
<!-- ${table.name}服务 -->
|
||||||
|
<dubbo:reference id="${table.sign}${table.scode}Service" interface="com.jwsaas.service<#if table.sign != "shared">.${table.sign}</#if>.${table.scode}Service"
|
||||||
|
version="<@jspEl 'reference.version'/>"
|
||||||
|
group="<@jspEl 'reference.group'/>" timeout="<@jspEl 'reference.timeout'/>"
|
||||||
|
retries="<@jspEl 'reference.retries'/>" />
|
||||||
|
|
||||||
|
</#list>
|
||||||
|
|
||||||
|
<!--服务引用部分结束-->
|
@ -0,0 +1,13 @@
|
|||||||
|
<#macro mapperEl value>${r"#{"}${value}}</#macro>
|
||||||
|
<#macro jspEl value>${r"${"}${value}}</#macro>
|
||||||
|
<!--服务暴露部分开始-->
|
||||||
|
<#list tableList as table>
|
||||||
|
<!-- ${table.name}服务 -->
|
||||||
|
<dubbo:service interface="com.jwsaas.service<#if table.sign != "shared">.${table.sign}</#if>.${table.scode}Service"
|
||||||
|
ref="${table.sign}${table.scode}ServiceImpl" version="<@jspEl 'service.version'/>"
|
||||||
|
group="<@jspEl 'service.group'/>" timeout="<@jspEl 'service.timeout'/>"
|
||||||
|
retries="<@jspEl 'service.retries'/>" />
|
||||||
|
|
||||||
|
</#list>
|
||||||
|
|
||||||
|
<!--服务暴露部分结束-->
|
@ -0,0 +1,13 @@
|
|||||||
|
<#macro mapperEl value>${r"#{"}${value}}</#macro>
|
||||||
|
<#macro jspEl value>${r"${"}${value}}</#macro>
|
||||||
|
<!--服务引用部分开始-->
|
||||||
|
<#list tableList as table>
|
||||||
|
<!-- ${table.name}服务 -->
|
||||||
|
<dubbo:reference id="${table.sign}${table.scode}Service" interface="com.jwsaas.service<#if table.sign != "shared">.${table.sign}</#if>.${table.scode}Service"
|
||||||
|
version="<@jspEl 'reference.version'/>"
|
||||||
|
group="<@jspEl 'reference.group'/>" timeout="<@jspEl 'reference.timeout'/>"
|
||||||
|
retries="<@jspEl 'reference.retries'/>" url="<@jspEl 'reference.url'/>" />
|
||||||
|
|
||||||
|
</#list>
|
||||||
|
|
||||||
|
<!--服务引用部分结束-->
|
Loading…
Reference in New Issue