package com.mtools.core.plugin.db; import java.util.List; @SuppressWarnings("unchecked") public class DBExpr { private StringBuffer sql; private List param; public StringBuffer getSql() { return sql; } public void setSql(StringBuffer sql) { this.sql = sql; } public List getParam() { return param; } public void setParam(List param) { this.param = param; } public DBExpr addBracket() { sql.insert(0, "("); sql.append(")"); return this; } public String sql() { if(sql!=null) return sql.toString(); return ""; } public boolean hasSql() { return sql!=null; } /** * @param kname 列名 * @param opers 操作符 * @param exp * @param val * @return */ public DBExpr append(Object val,String kname,String oper,String exp,String nulname,String nulop,String nulexp) { if(kname!=null) sql.append(val!=null?kname:nulname); if(oper!=null) sql.append(val!=null?oper:nulop); if(exp!=null) sql.append(val!=null?exp:nulexp); if(val!=null) param.add(val); return this; } public DBExpr append(Object val,String kname,String oper,String exp) { if(val==null) return this; if(kname!=null) sql.append(kname); if(oper!=null) sql.append(oper); if(exp!=null) sql.append(exp); if(val!=null) param.add(val); return this; } public DBExpr apsql(String... strs) { for(String s:strs) sql.append(s); return this; } public DBExpr apval(Object...vals) { for(Object v:vals) param.add(v); return this; } public DBExpr() { } public DBExpr(Object val,String kname,String oper,String exp,String nulname,String nulop,String nulexp) { append(val, kname, oper, exp, nulname, nulop, nulexp); } }