public List<Record> queryList(String sql, Map<String, Object> params) { return createQuery(sql, params).list(); }
/** * Returns true if the result has records, or returns false if no records. */ default boolean exists() { return firstOrNull() != null; }
/** * Sets the single arg as params. */ default Query<T> param(Object arg) { return params(new Object[]{arg}); }
@Override public UserDetails loadUserDetailsById(Object userId) { return lazyDao.get() .createNamedQuery(SQL_KEY_FIND_USER_DETAILS_BY_ID, SimpleUserDetails.class) .param(SQL_PARAM_USER_ID, userId) .singleOrNull(); }
@Override public Object apply(ActionParams params) { Map<String,Object> map = params.toMap(); Object result; if(command.getMetadata().isSelect()) { //todo: page query, total count Query query = dao.createQuery(command).params(map); if(null != returnType) { if(returnType.isSimpleType()) { result = Converts.convert(query.scalarValueOrNull(), returnType.asSimpleType().getJavaType()); }else if(returnType.isCollectionType() && returnType.asCollectionType().getElementType().isSimpleType()) { result = query.scalars().list(returnType.asCollectionType().getElementType().asSimpleType().getJavaType()); }else { result = query.list(); } }else { result = query.list(); } }else{ //todo: the return type must be simple type result = dao.executeUpdate(command, map); if(null != returnType) { result = Converts.convert(result, returnType.asSimpleType().getJavaType()); } } return ApiResponse.of(result); }
@Override public AuthzSSOSession loadSessionById(String id) { AuthzSSOSessionEntity session = null; if(null != loadSessionByIdCommand) { session = dao.createQuery(AuthzSSOSessionEntity.class, loadSessionByIdCommand).singleOrNull(); }else{ session = dao.createCriteriaQuery(AuthzSSOSessionEntity.class) .where("id = ? and expiration > ?", new Object[]{id, new Date()}) .singleOrNull(); } if(null == session) { return null; } return createSessionFromEntity(session); }
/** * Returns the scalar value or <code>null</code> if n o records returned. * * @throws TooManyRecordsException if two or more records returned. */ default <T> T scalarValueOrNull() throws TooManyRecordsException { Scalar scalar = scalarOrNull(); return null == scalar ? null : (T)scalar.get(); }
@Override public List<T> list() { if(null == result) { result = query.result(page); } return result.list(); }
public List<Object> queryScalars(String sql, Map<String, Object> params) { return createQuery(sql, params).scalars().list(); } }
@Override public AuthzSSOSession loadSessionByToken(String username, String token) { AuthzSSOSessionEntity session = null; if(null != loadSessionByTokenCommand) { session = dao.createQuery(AuthzSSOSessionEntity.class, loadSessionByTokenCommand).singleOrNull(); }else{ session = dao.createCriteriaQuery(AuthzSSOSessionEntity.class) .where("token = ? and user_name = ? and expiration > ?", new Object[]{token, username, new Date()}) .firstOrNull(); } if(null == session) { return null; } return createSessionFromEntity(session); }
@Override public UserDetails loadUserDetailsByLoginName(String username) { return lazyDao.get() .createNamedQuery(SQL_KEY_FIND_USER_DETAILS_BY_LOGIN_NAME, SimpleUserDetails.class) .param(SQL_PARAM_LOGIN_NAME, username) .singleOrNull(); }
/** * Returns the scalar value or <code>null</code> if n o records returned. * * @throws TooManyRecordsException if two or more records returned. */ default <T> T scalarValueOrNull(Class<T> type) throws TooManyRecordsException { Scalar scalar = scalarOrNull(); return null == scalar ? null : scalar.get(type); }
public QueryResult<Record> query(String sql, Map<String, Object> params) { return createQuery(sql, params).result(); }
/** * Sets a {@link ArrayParams} for jdbc placeholders in this query. */ default Query<T> params(Object[] args) { return params(new ArrayParams(args)); }
@Override public List<AuthzSSOLogin> loadLoginsInSession(AuthzSSOSession session) { List<AuthzSSOLoginEntity> entities = null; if(null != loadLoginsInSessionCommand) { entities = dao.createQuery(AuthzSSOLoginEntity.class, loadLoginsInSessionCommand).list(); }else{ entities = dao.createCriteriaQuery(AuthzSSOLoginEntity.class).where("session_id = ?", session.getId()).list(); } List<AuthzSSOLogin> logins = new ArrayList<>(); for(AuthzSSOLoginEntity entity : entities) { logins.add(createLoginFromEntity(entity)); } return logins; }
protected AuthzClientEntity loadAuthzClientEntity(String clientId){ AuthzClientEntity entity; if(null == loadClientCommand) { entity = dao.findOrNull(AuthzClientEntity.class, clientId); }else{ entity = dao.createQuery(AuthzClientEntity.class, loadClientCommand).firstOrNull(); } return entity; }
@Override public AuthzSSOSession loadSessionByToken(String username, String token) { AuthzSSOSessionEntity session = null; if(null != loadSessionByTokenCommand) { session = dao.createQuery(AuthzSSOSessionEntity.class, loadSessionByTokenCommand).singleOrNull(); }else{ session = dao.createCriteriaQuery(AuthzSSOSessionEntity.class) .where("token = ? and user_name = ? and expiration > ?", new Object[]{token, username, new Date()}) .firstOrNull(); } if(null == session) { return null; } return createSessionFromEntity(session); }
public Double queryDouble(String sql, Map<String, Object> params) { return createQuery(sql, params).scalarOrNull().get(Double.class); }
@Override public T single() throws EmptyRecordsException, TooManyRecordsException { return limit(2).result().single(); }
@Override public Query<Record> createSqlQuery(String sql, Object... args) { return createSqlQuery(sql).params(args); }