List of usage examples for org.apache.commons.dbutils QueryRunner query
public <T> T query(String sql, ResultSetHandler<T> rsh, Object... params) throws SQLException
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; }