1.写公共的方法:
public static String replaceSqlStr(String field,String para,String value)
{
String str = "";
if(!("".equals(value)||value==null))
str = " and " + field + "=:" +para;
return str;
}
public static void replaceSqlStrQuery(Query q,String para,String value)
{
if(!("".equals(value)||value==null))
q.setString(para,value);
}
public static String replaceLike(String field,String para,String value)
{
String str = "";
if(!("".equals(value)||value==null))
str = " and " + field + " like :" + para;
return str;
}
public static void replaceLikeQuery(Query q,String para,String value)
{
if(!("".equals(value)||value==null))
q.setString(para,"%" + value + "%");
}
public static String replaceFromDate(String field,String para,String value)
{
String str = "";
if(!("".equals(value)||value==null))
str = " and " + field + ">=:" +para;
return str;
}
public static void replaceFromDateQuery(Query q,String para,String value)
{
replaceSqlStrQuery(q,para,value);
}
public static String replaceToDate(String field,String para,String value)
{
String str = "";
if(!("".equals(value)||value==null))
str = " and " + field + "<=:" +para;
return str;
}
public static void replaceToDateQuery(Query q,String para,String value)
{
replaceSqlStrQuery(q,para,value+" 23:59:59");
}
2.在查询时就可以调用相应的公共方法
private String paraStr(Know_ExpertSearchForm form)
{
StringBuffer sb = new StringBuffer();
sb.append(Database.replaceSqlStr("t53ExpertClass.classNo","classNo",form.getSClassNo()));
sb.append(Database.replaceLike("detailContent","detailContent",form.getSDetailContent()));
return sb.toString();
}
Query q = null;
q = s.createQuery(countHql);
Database.replaceSqlStrQuery(q,"classNo",form.getSClassNo());
Database.replaceLikeQuery(q,"detailContent",form.getSDetailContent());