实现public <T> QueryResult<T> getQueryReslt(Class<T> entityClass,
String wherejpa, Object[] queryParams,
LinkedHashMap<String, String> orderby) {
QueryResult<T> qr = new QueryResult<T>();
String entityname = getEntityName(entityClass);//获取实体
Query query = em.createQuery("select o from "
+ entityname
+ " o "
+ (wherejpa == null || "".equals(wherejpa) ? "" : " where "
+ wherejpa) + buildOrderby(orderby));
setQueryParams(query, queryParams);
qr.setResultlist(query.getResultList());
return qr;
}
调用 if (beginDate != null && !beginDate.equals("")) {
bdate = DateUtil.strToDates(beginDate);
i = ++i;
sql.append(" and o.finalDate between " + "?" + i);
}
if (endDate != null && !endDate.equals("")) {
edate = DateUtil.strToDates(endDate);
i = ++i;
sql.append(" and " + "?" + i);
}
if (name != null && !name.equals("")) {
i = ++i;
sql.append(" and o.name =?" + i);
}
if (typeId != null && !typeId.equals("")) {
i = ++i;
sql.append(" and o.typeId =?" + i);
}
if (deptId != null && !deptId.equals("")) {
i = ++i;
sql.append(" and o.deptId =?" + i);
}
String sql1 = null;
if (sql != null && !sql.equals("")) {
sql1 = sql.substring(4);
}
LinkedHashMap<String, String> orderby = this
.setOrder("sort", "asc");
QueryResult<WebStaffstyle> qr = webStaffstyleService
.getScrollData(
WebStaffstyle.class,
sql1,
new Object[] { (bdate != null && !bdate.equals("")) ? bdate
: null,
(edate != null && !edate.equals("")) ? edate
: null,
(name != null && !name.equals("")) ? name
: null,
(typeId != null && !typeId.equals("")) ? typeId
: null,
(deptId != null && !deptId.equals("")) ? deptId
: null }, orderby);Object 中的那些为参数页面对象获取的值
若期中的参数有一个为空,对象数组里的查询条件就不满足了!求解,求大牛高见,求良策!