因为有时候需要根据前台的多个条件来过滤数据!因此需要根据是否有值以及当前值是以什么方式来过滤。这样我们不可能一个一个值来判断吧!这样代码就有些难看了!而jFinal也没有提供这样的方法,而网上的一些解决方法感觉不太好用麻烦而且不够灵活!基于这个考虑我就自己写了一个工具类!目前来说用着还挺方便的!如果有什么不对或者改进的地方请指正,大家共同进步!
1 /** 2 * 用于生成JFinal的SQL查询语句 3 * 类名称:Conditions 4 * 创建人:yangxp 5 * 创建时间:2014-1-19 上午11:22:26 6 * 7 * @version v1.0.9 8 * 9 */ 10 public class Conditions { 11 static Logger log = Logger.getLogger(Conditions.class); 12 13 public static final String EQUAL = "EQUAL"; // 相等 14 15 public static final String NOT_EQUAL = "NOT_EQUAL"; // 不相等 16 17 public static final String LESS_THEN = "LESS_THEN"; // 小于 18 19 public static final String LESS_EQUAL = "LESS_EQUAL"; // 小于等于 20 21 public static final String GREATER_EQUAL = "GREATER_EQUAL"; // 大于等于 22 23 public static final String GREATER_THEN = "GREATER_THEN"; // 大于 24 25 public static final String FUZZY = "FUZZY"; // 模糊匹配 %xxx% 26 27 public static final String FUZZY_LEFT = "FUZZY_LEFT"; // 左模糊 %xxx 28 29 public static final String FUZZY_RIGHT = "FUZZY_RIGHT"; // 右模糊 xxx% 30 31 public static final String NOT_EMPTY = "NOT_EMPTY"; // 不为空值的情况 32 33 public static final String EMPTY = "EMPTY"; // 空值的情况 34 35 public static final String IN = "IN"; // 在范围内 36 37 public static final String NOT_IN = "NOT_IN"; // 不在范围内 38 39 // 用于接收SQL语句 40 private ThreadLocal sql = new ThreadLocal (); 41 42 // 用于接收参数数组 43 private ThreadLocal