add original field name search

This commit is contained in:
Shaun Chyxion 2018-07-15 10:15:03 +08:00
parent 8ebee87209
commit 7a0c14ba3f
4 changed files with 20 additions and 15 deletions

View File

@ -3,6 +3,7 @@ package ${pkg}.model;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.experimental.FieldNameConstants;
import ${tableAnnotationClassName}; import ${tableAnnotationClassName};
<#if baseModelFullName?has_content> <#if baseModelFullName?has_content>
import ${baseModelFullName}; import ${baseModelFullName};
@ -15,15 +16,16 @@ ${objDoc}
@Getter @Getter
@Setter @Setter
@${tableAnnotationName}("${table}") @${tableAnnotationName}("${table}")
@FieldNameConstants(prefix = "")
public class ${ModelName} extends ${baseModelName} { public class ${ModelName} extends ${baseModelName} {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
<#--
// Column Names // Column Names
<#list cols as prop> <#list cols as prop>
public static final String ${prop.col?upper_case} = "${prop.col}"; public static final String ${prop.col?upper_case} = "${prop.col}";
</#list> </#list>
-->
// Properties
<#list cols as prop> <#list cols as prop>
private ${prop.javaType} ${prop.name}; private ${prop.javaType} ${prop.name};
</#list> </#list>

View File

@ -5,6 +5,7 @@ import lombok.Setter;
import lombok.NonNull; import lombok.NonNull;
import java.util.List; import java.util.List;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import me.chyxion.tigon.util.WordUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
/** /**
@ -25,18 +26,23 @@ public class SearchProcessArgs {
@Setter @Setter
private boolean hasPrevOrCol; private boolean hasPrevOrCol;
public SearchProcessArgs append(String sqlFragment) { public SearchProcessArgs append(final String sqlFragment) {
result.add(new SqlFragment(sqlFragment)); result.add(new SqlFragment(sqlFragment));
return this; return this;
} }
public SearchProcessArgs addValue(Object value) { public SearchProcessArgs addValue(final Object value) {
result.add(value); result.add(value);
return this; return this;
} }
public String getCol() { public String getCol() {
String col = criterion.getCol(); String col = criterion.getCol();
if (col.matches("^\\w+$")) {
col = WordUtils.convertCamelCase(
col, "_").toLowerCase();
}
return StringUtils.isNotBlank(table) return StringUtils.isNotBlank(table)
&& !col.contains(".") ? && !col.contains(".") ?
table + "." + col : col; table + "." + col : col;

View File

@ -32,18 +32,12 @@ public class WordUtils {
public static String[] splitToWords(String str) { public static String[] splitToWords(String str) {
return StringUtils.isNotBlank(str) ? return StringUtils.isNotBlank(str) ?
// JSONObject - JSON Object // JSONObject - JSON Object
str.split(new StringBuilder("(?<=[A-Z])(?=[A-Z][a-z])") // 99Rose - 99 Rose
str.split(new StringBuilder("(?<=[0-9A-Z])(?=[A-Z][a-z])")
// MySQL - My SQL // MySQL - My SQL
.append("|(?<=[a-z])(?=[A-Z])") .append("|(?<=[a-z])(?=[A-Z])")
// 99Roses -> 99 Roses .toString()) :
.append("|(?<=[^a-zA-Z])(?=[A-Z])") new String[0];
// .append("|(?<=[^A-Z])(?=[A-Z])")
// 5s - 5 s
// .append("|(?<=[^a-zA-Z])(?=[a-z])")
// A3 - A 3 | a3 - a 3
// .append("|(?<=[A-Za-z])(?=[^A-Za-z])")
.toString()) :
new String[]{};
} }
/** /**

View File

@ -17,8 +17,11 @@ public class WordUtilsTest {
System.err.println(WordUtils.convertCamelCase("log4j", "_")); System.err.println(WordUtils.convertCamelCase("log4j", "_"));
System.err.println(WordUtils.convertCamelCase("log4J", "_")); System.err.println(WordUtils.convertCamelCase("log4J", "_"));
System.err.println(WordUtils.convertCamelCase("JSONObject", "_")); System.err.println(WordUtils.convertCamelCase("JSONObject", "_"));
System.err.println(WordUtils.convertCamelCase("JSONObject", "_"));
System.err.println(WordUtils.convertCamelCase("99Rose", "_")); System.err.println(WordUtils.convertCamelCase("99Rose", "_"));
System.err.println(WordUtils.convertCamelCase("AAA99Rose", "_"));
System.err.println(WordUtils.convertCamelCase("99rose", "_")); System.err.println(WordUtils.convertCamelCase("99rose", "_"));
System.err.println(WordUtils.convertCamelCase("Foo.JSONObject", "_"));
System.err.println("JSONObject".matches("^\\w+$"));
} }
} }