package com.walker.jdbc.sqlgen; import com.walker.jdbc.SqlAndParameters; import java.util.Map; /** * sql 生成工具类基类 * * @author 时克英 * @date 2017年3月3日 */ public abstract class AbstractSqlBuilder { /** * 根据主键生成sql语句 * * @return sql语句及参数 */ public abstract SqlAndParameters> genMapSql(); /** *
     * 根据条件和条件参数生成sql语句
     * 例如:
     *   genMapSql("where name = :name", new Map{name:"lizhihui"})
     * 
* * @param where 条件片段 * @param parametersMap 条件参数 * @return sql语句及参数 */ public abstract SqlAndParameters> genMapSql(String where, Map parametersMap); /** * 根据主键生成sql语句 * * @return sql语句及参数 */ public abstract SqlAndParameters genArraySql(); /** *
     * 根据条件和条件参数生成sql语句
     * 例如:
     *   genArraySql("where name = ?", new Object[]{"lizhihui"})
     * 
* * @param where 条件片段 * @param parametersArray 条件参数 * @return sql语句及参数 */ public abstract SqlAndParameters genArraySql(String where, Object[] parametersArray); /** * 判断对象是否为空或是空串 * * @param value 参数值 * @return 是否为空或是空串 */ protected boolean isSqlNull(Object value) { return value == null || "".equals(value); } /** * 过滤空字符串 * * @param value 参数值 * @return 过滤后的参数值 */ protected Object getNotEmptyValue(Object value) { if (isSqlNull(value)) { return null; } else { return value; } } }