package com.kingschan.blog.util;
import java.io.File;
import java.util.Map;
import org.dom4j.Node;
import com.kingschan.blog.common.freemarker.util.FreemarkerParseUtil;
import com.kingschan.blog.dao.impl.ReportDaoImpl;
public class SqlUtil {
/**
* 得到SQL语句
* @param fileName 文件夹
* @param id
* @return
*/
public static String getSql(String fileName,String id){
String sql=null;
try {
String path=ReportDaoImpl.class.getClassLoader().getResource("").getPath().toString().concat(String.format("%s.xml", fileName));
File f = new File(path);
XmlOperation xml = new XmlOperation(f);
Node node= xml.getNodeByExpression(String.format("/body/sql[@id='%s']", id));
sql=node.getText().trim().replaceAll("\\s", " ");
} catch (Exception e) {
e.printStackTrace();
}
return sql;
}
/**
* 得到SQL并解析返回
* @param fileName 文件名
* @param id id号
* @param data 参数
* @return
*/
public static String getSql(String fileName,String id,Map<String,Object> data){
String sql=null;
try {
sql=getSql(fileName, id);
if (null!=sql&&!sql.isEmpty()) {
sql=FreemarkerParseUtil.parserString(sql, data);
}
} catch (Exception e) {
e.printStackTrace();
}
return sql;
}
}