生成SQL查询条件的工具类

来源:互联网 发布:单片机控制12v继电器 编辑:程序博客网 时间:2024/05/21 15:05
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 + "'";
 }
}

0 0
原创粉丝点击