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

View File

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

View File

@ -32,18 +32,12 @@ public class WordUtils {
public static String[] splitToWords(String str) {
return StringUtils.isNotBlank(str) ?
// 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
.append("|(?<=[a-z])(?=[A-Z])")
// 99Roses -> 99 Roses
.append("|(?<=[^a-zA-Z])(?=[A-Z])")
// .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[]{};
new String[0];
}
/**

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("JSONObject", "_"));
System.err.println(WordUtils.convertCamelCase("JSONObject", "_"));
System.err.println(WordUtils.convertCamelCase("99Rose", "_"));
System.err.println(WordUtils.convertCamelCase("AAA99Rose", "_"));
System.err.println(WordUtils.convertCamelCase("99rose", "_"));
System.err.println(WordUtils.convertCamelCase("Foo.JSONObject", "_"));
System.err.println("JSONObject".matches("^\\w+$"));
}
}