/** * Sets the single arg as params. */ default CriteriaQuery<T> param(Object arg) { return params(new Object[]{arg}); }
/** * Sets a {@link ArrayParams} for jdbc placeholders in this CriteriaQuery. */ default CriteriaQuery<T> params(Object[] args) { return params(new ArrayParams(args)); }
@Override public CriteriaQuery<T> q() { q.where(expr.toString()).params(params); return q; }
@Override public CriteriaQuery<T> where(Map<String, Object> fields) { StringBuilder where = new StringBuilder(); int i=0; for(String name : fields.keySet()) { if(i > 0) { where.append(" and "); } where.append(name).append(" = :").append(name); i++; } return where(where.toString()).params(fields); }
@Instrument public static <T extends Model> CriteriaQuery<T> where(String expression,Map<String,Object> params) { return (CriteriaQuery<T>)query().where(expression).params(params); }
/** * Delete all the records with the given where expression. */ @Instrument @SuppressWarnings("rawtypes") public static int deleteAll(String whereExpression,Map<String, Object> params) { return ((CriteriaQuery)query().where(whereExpression).params(params)).delete(); }
/** * Updates all the records matched the where expression with all the fields. */ @SuppressWarnings("rawtypes") public final int updateAll(String whereExpression,Map<String, Object> params) { CriteriaQuery q = ((CriteriaQuery)thisQuery()); q.where(whereExpression).params(params); return q.update(getUpdateFields()); }