67,513
社区成员
发帖
与我相关
我的任务
分享
private List<Object> findByProperty(final String propertyName[],final Object value[]) {
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session s) throws HibernateException,
SQLException {
StringBuffer queryStringbuffer = new StringBuffer();
queryStringbuffer.append(" from SmsMo as model where 1=1 and ");
for (int i = 0; i < propertyName.length; i++) {
if (propertyName[i].indexOf("starttime") != -1) {
String[] str = propertyName[i].split("_");
queryStringbuffer.append("model." + str[0] + ">= ? and ");
} else if (propertyName[i].indexOf("endtime") != -1) {
String[] str = propertyName[i].split("_");
queryStringbuffer.append("model." + str[0] + "<= ? and ");
} else if(propertyName[i].indexOf("in") != -1){
String[] str = propertyName[i].split("_");
queryStringbuffer.append("model." + str[0] + "in(?) and ");
} else if(propertyName[i].indexOf("=") != -1){
String[] str = propertyName[i].split("_");
queryStringbuffer.append("model." + str[0] + "= ? and ");
}else {
// queryStringbuffer.append("model." + propertyName[i] + "= ? and ");
queryStringbuffer.append("model." + propertyName[i] + " LIKE ? and ");
}
}
int j = queryStringbuffer.lastIndexOf("and");
String queryString = queryStringbuffer.substring(0, j - 1);
Query query = s.createQuery(queryString);
for(int k=0;k<propertyName.length;k++)
{
//query.setParameter(k, value[k]);
query.setString(k,"%"+value[k] +"%");
}
}
List list = query.list();
return list;
}
});
}