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 + "'";
}
}