生成SQL查詢條件的工具類

import org.hibernate.criterion.MatchMode;
/**
 * 生成SQL查詢條件的工具類。
 *
 * @author Administrator
 *
 */
public class SqlUtils {

 private static final String AND = " and ";
 private static final String LIKE = " like ";
 private static final String EQ = " = ";
 private static final String GE = " >= ";
 private static final String LE = " <= ";
 private static final String GT = " > ";
 private static final String LT = " < ";

//等於
 public static String eq(String propertyName, Object value) {
  if (value.getClass().equals(java.lang.String.class)) {
   return AND + propertyName + EQ + formatSQLParam(value.toString());
  }
  return AND + propertyName + EQ + value.toString();
 }

//大於等於
 public static String ge(String propertyName, Object value) {
  if (value.getClass().equals(java.lang.String.class)) {
   return AND + propertyName + GE + formatSQLParam(value.toString());
  }
  return AND + propertyName + GE + value.toString();
 }

//小於等於
 public static String le(String propertyName, Object value) {
  if (value.getClass().equals(java.lang.String.class)) {
   return AND + propertyName + LE + formatSQLParam(value.toString());
  }
  return AND + propertyName + LE + value.toString();
 }

//大於
 public static String gt(String propertyName, Object value) {
  if (value.getClass().equals(java.lang.String.class)) {
   return AND + propertyName + GT + formatSQLParam(value.toString());
  }
  return AND + propertyName + GT + value.toString();
 }

//小於
 public static String lt(String propertyName, Object value) {
  if (value.getClass().equals(java.lang.String.class)) {
   return AND + propertyName + LT + formatSQLParam(value.toString());
  }
  return AND + propertyName + LT + value.toString();
 }

//模糊查詢
 public static String like(String propertyName, String value, MatchMode matchMode) {
  return AND + propertyName + LIKE + formatSQLParam(matchMode.toMatchString(value));
 }

 public static String like(String propertyName, String value) {
  return like(propertyName, value, MatchMode.ANYWHERE);
 }

 private static String formatSQLParam(String value) {
  return "'" + value + "'";
 }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章