
com.nfwork.dbfound.util.ParseUtil Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dbfound Show documentation
Show all versions of dbfound Show documentation
dbfound development platform
package com.nfwork.dbfound.util;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.nfwork.dbfound.exception.ParamNotFoundException;
import com.nfwork.dbfound.model.bean.Param;
/**
* 静态参数 初始化
*
* @author John
*
*/
public class ParseUtil {
static String replaceString = "\\#\\{\\@[ a-zA-Z_0-9\u4E00-\u9FA5]*\\}";
/**
* 静态参数 初始化
* @param sql
* @param params
* @return
*/
public static String parse(String sql, Map params) {
if (sql == null || "".equals(sql)) {
return "";
}
String paramValue;
Pattern p = Pattern.compile(replaceString);
Matcher m = p.matcher(sql);
StringBuffer buf = new StringBuffer();
while (m.find()) {
String param = m.group();
String pn = param.substring(3, param.length() - 1);
Param nfParam = params.get(pn.trim());
if (nfParam == null) {
throw new ParamNotFoundException("param: " + pn + " 没有定义");
}
paramValue = nfParam.getStringValue();
// UUID取值
if ("true".equals(nfParam.getUUID())) {
paramValue = UUIDUtil.getUUID();
}else if (paramValue == null) {
paramValue = "";
}else {
paramValue = paramValue.replace("$", "\\$");
}
m.appendReplacement(buf, paramValue);
}
m.appendTail(buf);
return buf.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy