Example usage for org.apache.commons.dbutils QueryRunner query

List of usage examples for org.apache.commons.dbutils QueryRunner query

Introduction

In this page you can find the example usage for org.apache.commons.dbutils QueryRunner query.

Prototype

public <T> T query(String sql, ResultSetHandler<T> rsh, Object... params) throws SQLException 

Source Link

Document

Executes the given SELECT SQL query and returns a result object.

Usage

From source file:io.stallion.dataAccess.db.DB.java

/**
 * Query the database with arbitrary SQL and return a scalar object (a string, number, boolean, etc).
 *
 * @param sql// ww w .jav a 2  s  . c om
 * @param params
 * @param <T>
 * @return
 */
public <T> T queryScalar(String sql, Object... params) {

    QueryRunner runner = new QueryRunner(dataSource);
    try {
        return runner.query(sql, new ScalarHandler<T>(), params);
    } catch (SQLException e) {
        throw new RuntimeException(e);
    }

}

From source file:io.stallion.dataAccess.db.DB.java

/**
 * Query the database with arbitrary SQL and return a scalar object (a string, number, boolean, etc).
 *
 * @param sql/*from   w ww.ja  v a 2  s  . c  o  m*/
 * @param params
 * @param <T>
 * @return
 */
public <T> List<T> queryColumn(String sql, Object... params) {

    QueryRunner runner = new QueryRunner(dataSource);
    try {
        return runner.query(sql, new ColumnListHandler<T>(), params);
    } catch (SQLException e) {
        throw new RuntimeException(e);
    }

}

From source file:io.stallion.dataAccess.db.DB.java

/**
 * Find a single value based on the given model, from arbitrary SQL, and
 * use the cache./*from   ww  w.  j  a  va  2  s  . co m*/
 *
 * @param model
 * @param sql
 * @param params
 * @param <T>
 * @return
 */
public <T> T cachedScalar(Class model, String sql, Object... params) {
    String cacheKey = buildCacheKey(model, sql, params);
    T result = (T) SmartQueryCache.getSmart(model.getCanonicalName(), cacheKey);
    if (result != null) {
        return result;
    }
    QueryRunner runner = new QueryRunner(dataSource);
    try {
        result = runner.query(sql, new ScalarHandler<T>(), params);
        SmartQueryCache.set(model.getCanonicalName(), cacheKey, result);
        return result;
    } catch (SQLException e) {
        throw new RuntimeException(e);
    }

}

From source file:io.stallion.dataAccess.db.DB.java

/**
 * Find one record via arbitrary SQL and return it as a hashmap
 *
 * @param sql/*  w  w  w  .j  a  v a2 s . c o m*/
 * @param args
 * @return
 */
public Map<String, Object> findRecord(String sql, Object... args) {
    QueryRunner runner = new QueryRunner(dataSource);
    MapHandler handler = new MapHandler();
    try {
        return runner.query(sql, handler, args);
    } catch (SQLException e) {
        throw new RuntimeException(e);
    }
}

From source file:io.stallion.dataAccess.db.DB.java

/**
 * Find a list of rows via arbitrary SQL, and return those rows as hashmaps
 *
 * @param sql//from  ww  w .java 2  s  .c  o  m
 * @param args
 * @return
 */
public List<Map<String, Object>> findRecords(String sql, Object... args) {
    QueryRunner runner = new QueryRunner(dataSource);
    MapListHandler handler = new MapListHandler();
    try {
        return runner.query(sql, handler, args);
    } catch (SQLException e) {
        throw new RuntimeException(e);
    }
}

From source file:azkaban.project.JdbcProjectLoader.java

@Override
public int getLatestProjectVersion(Project project) throws ProjectManagerException {
    QueryRunner runner = createQueryRunner();

    IntHander handler = new IntHander();
    try {// ww w. ja  v  a2s . co m
        return runner.query(IntHander.SELECT_LATEST_VERSION, handler, project.getId());
    } catch (SQLException e) {
        logger.error(e);
        throw new ProjectManagerException("Error marking project " + project.getName() + " as inactive", e);
    }
}

From source file:io.stallion.dataAccess.db.DB.java

/**
 * Find a list of objects of the given model via arbitrary SQL.
 * Accepts any java bean, does not require a Stallion Model
 *
 * @param model/*from w w  w  .ja v  a 2  s. com*/
 * @param sql
 * @param args
 * @param <T>
 * @return
 */
public <T> List<T> queryBean(Class<T> model, String sql, Object... args) {
    QueryRunner runner = new QueryRunner(dataSource);
    //BeanListHandler<T> handler = new BeanListHandler(model);
    BeanListHandler<T> handler = new BeanListHandler(model);
    try {
        return runner.query(sql, handler, args);
    } catch (SQLException e) {
        Log.exception(e.getNextException(), "Root exception in queryBean");
        throw new RuntimeException(e);
    }
}

From source file:io.stallion.dataAccess.db.DB.java

/**
 * Find a list of objects of the given model via arbitrary SQL.
 * Accepts any java bean, does not require a Stallion Model
 *
 * @param model//from   w w w .ja  v  a  2  s. c om
 * @param sql
 * @param args
 * @param <T>
 * @return
 */
public <T> T fetchBean(Class<T> model, String sql, Object... args) {
    QueryRunner runner = new QueryRunner(dataSource);
    //BeanListHandler<T> handler = new BeanListHandler(model);
    BeanListHandler<T> handler = new BeanListHandler(model);
    try {
        List<T> results = runner.query(sql, handler, args);
        if (results.size() == 0) {
            return null;
        } else {
            return results.get(0);
        }
    } catch (SQLException e) {
        Log.exception(e.getNextException(), "Root exception in queryBean");
        throw new RuntimeException(e);
    }
}

From source file:azkaban.project.JdbcProjectLoader.java

@Override
public List<Triple<String, Boolean, Permission>> getProjectPermissions(int projectId)
        throws ProjectManagerException {
    ProjectPermissionsResultHandler permHander = new ProjectPermissionsResultHandler();
    QueryRunner runner = createQueryRunner();
    List<Triple<String, Boolean, Permission>> permissions = null;
    try {//from   w  w w.j  a v  a 2 s .  c  o  m
        permissions = runner.query(ProjectPermissionsResultHandler.SELECT_PROJECT_PERMISSION, permHander,
                projectId);
    } catch (SQLException e) {
        throw new ProjectManagerException("Query for permissions for " + projectId + " failed.", e);
    }

    return permissions;
}

From source file:azkaban.project.JdbcProjectLoader.java

private List<Project> fetchAllActiveProjects(Connection connection) throws ProjectManagerException {
    QueryRunner runner = new QueryRunner();

    ProjectResultHandler handler = new ProjectResultHandler();
    List<Project> projects = null;
    try {/* www  .  j ava  2  s.  com*/
        projects = runner.query(connection, ProjectResultHandler.SELECT_ALL_ACTIVE_PROJECTS, handler);

        for (Project project : projects) {
            List<Triple<String, Boolean, Permission>> permissions = fetchPermissionsForProject(connection,
                    project);

            for (Triple<String, Boolean, Permission> entry : permissions) {
                if (entry.getSecond()) {
                    project.setGroupPermission(entry.getFirst(), entry.getThird());
                } else {
                    project.setUserPermission(entry.getFirst(), entry.getThird());
                }
            }
        }
    } catch (SQLException e) {
        throw new ProjectManagerException("Error retrieving all projects", e);
    } finally {
        DbUtils.closeQuietly(connection);
    }

    return projects;
}