package com.yanzuoguang.dao.Impl; import java.util.ArrayList; import java.util.List; /** * SQL语句的字段 */ public class SqlDataField { /** * 前台参数名称,当没有前台参数时,则把当前字段当常量代码片段处理 */ public String paraName = ""; /** * 是否根据前台参数自动添加,false时保持永久添加模式 */ public boolean auto = true; /** * 代码片段 */ public List<String> codes = new ArrayList<String>(); /** * 构造函数 * * @param paraName 前台输入字段 */ public SqlDataField(String paraName) { this(paraName, ""); } /** * 构造函数 * * @param paraName 前台输入字段 * @param cond 条件 */ public SqlDataField(String paraName, String cond) { this.paraName = paraName; this.add(cond); } /** * 复制实体 * * @return */ public SqlDataField copy() { SqlDataField to = new SqlDataField(this.paraName); to.auto = this.auto; to.codes.addAll(this.codes); return to; } /** * 添加条件 * * @param cond * @return */ public SqlDataField add(String cond) { return this.add("{WHERE}", cond); } /** * 添加条件 * * @param codeName 字段名称 * @param codeValue 代码内容 * @return */ public SqlDataField add(String codeName, String codeValue) { if ("".equals(codeValue) || codeValue == null) { return this; } this.codes.add(codeName); this.codes.add(codeValue); return this; } /** * 清除所有的代码片段 * * @return */ public SqlDataField clear() { this.codes.clear(); return this; } }