List of usage examples for org.apache.commons.dbutils.handlers MapListHandler MapListHandler
public MapListHandler()
BasicRowProcessor
for conversion. From source file:nl.opengeogroep.safetymaps.server.stripes.FotoFunctionActionBean.java
public List<Map<String, Object>> getFromDb() throws Exception { QueryRunner qr = DB.qr();/*from www . j ava 2 s . c om*/ List<Map<String, Object>> rows = qr.query( "SELECT \"filename\", \"omschrijving\" from wfs." + TABLE + " where incident_nummer =?", new MapListHandler(), incidentNummer); return rows; }
From source file:nl.opengeogroep.safetymaps.server.stripes.NLExtractBagAddressSearchActionBean.java
public Resolution search() { try {// w w w . j a v a 2 s .co m JSONArray result = new JSONArray(); if (term != null && term.trim().length() > 2) { term = term.trim().toLowerCase(); QueryRunner qr = DB.bagQr(); String where; String param; boolean isPostCode = term.matches("^[0-9]{4}[a-z]{0,2}$"); if (term.indexOf(' ') != -1 || isPostCode) { where = "(textsearchable_adres @@ to_tsquery('dutch',?)) "; param = term.replaceAll("\\s+", "&"); } else { where = "openbareruimtenaam like ?"; param = term.substring(0, 1).toUpperCase() + term.substring(1) + "%"; } List<Map<String, Object>> rows = qr.query( "select openbareruimtenaam || ' ' || " + "CASE WHEN lower(woonplaatsnaam) = lower(gemeentenaam) THEN woonplaatsnaam " + "ELSE woonplaatsnaam || ', ' || gemeentenaam END as display_name, " + "st_x(st_centroid(st_collect(geopunt))) as lon, " + "st_y(st_centroid(st_collect(geopunt))) as lat " + "from bag_actueel.adres where " + where + "group by woonplaatsnaam, gemeentenaam, openbareruimtenaam limit 10", new MapListHandler(), param); if (rows.size() == 1) { // Only one grouped by result, get more details rows = qr.query("select openbareruimtenaam || ' ' || " + "COALESCE(CAST(huisnummer as varchar) || ' ','') || " + "COALESCE(CAST(huisletter as varchar) || ' ','') || " + "COALESCE(CAST(huisnummertoevoeging as varchar) || ' ','') || " + "COALESCE(CAST(postcode as varchar) || ' ','') || " + "CASE WHEN lower(woonplaatsnaam) = lower(gemeentenaam) THEN woonplaatsnaam " + "ELSE woonplaatsnaam || ', ' || gemeentenaam END as display_name, " + "st_x(st_centroid(st_collect(geopunt))) as lon, " + "st_y(st_centroid(st_collect(geopunt))) as lat " + "from bag_actueel.adres where " + where + "group by woonplaatsnaam, gemeentenaam, openbareruimtenaam, huisnummer, huisletter, huisnummertoevoeging, postcode limit 10", new MapListHandler(), param); } for (Map<String, Object> row : rows) { result.put(rowToJson(row, false, false)); } } return new StreamingResolution("application/json", new StringReader(result.toString(4))); } catch (Exception e) { return new ErrorMessageResolution( logExceptionAndReturnJSONObject(log, "Error searching BAG database for address", e) .toString(4)); } }
From source file:org.culturegraph.mf.sql.util.DataSet.java
public DataSet(final Database database, final String query) throws SQLException { data = new QueryRunner().query(database.getConnection(), query, new MapListHandler()); }
From source file:org.dbmfs.DatabaseAccessor.java
/** * ???????????.<br>// w w w. j a v a 2 s. co m * * @param targetTableName ?? * @param pKeyConcatStr (?) * @retrun */ public boolean exsistData(String targetTableName, String pKeyConcatStr) throws Exception { boolean ret = false; try { // ? List<String> primaryKeyColumnNames = getPrimaryKeyColumnNames(targetTableName); Map<String, Map<String, Object>> allColumnMeta = getAllColumnMeta(targetTableName, true); if (primaryKeyColumnNames == null || primaryKeyColumnNames.size() == 0) return false; // ? pKeyConcatStr = pKeyConcatStr.replace(".json", ""); String[] keyStrSplit = pKeyConcatStr.split(primaryKeySep); if (keyStrSplit.length != primaryKeyColumnNames.size()) return false; // ?? StringBuilder queryBuf = new StringBuilder(); queryBuf.append("select count(*) as cnt from "); queryBuf.append(targetTableName); queryBuf.append(" where "); // ()? Object[] params = new Object[primaryKeyColumnNames.size()]; String whereSep = ""; for (int idx = 0; idx < primaryKeyColumnNames.size(); idx++) { Map<String, Object> meta = allColumnMeta.get(primaryKeyColumnNames.get(idx)); params[idx] = DbmfsUtil.deserializeType(keyStrSplit[idx], (String) meta.get("javaTypeName")); queryBuf.append(whereSep); queryBuf.append(primaryKeyColumnNames.get(idx)); queryBuf.append(" = ? "); whereSep = " and "; } ResultSetHandler<?> resultSetHandler = new MapListHandler(); QueryRunner qr = new QueryRunner(); // //System.out.println(queryBuf.toString()); //System.out.println(params[0]); List<Map<String, Object>> queryResult = (List<Map<String, Object>>) qr.query(injectConn, queryBuf.toString(), resultSetHandler, params); Map countRet = queryResult.get(0); Long count = (Long) countRet.get("cnt"); if (count.longValue() == 1) ret = true; } catch (Exception e) { e.printStackTrace(); throw e; } return ret; }
From source file:org.dbmfs.DatabaseAccessor.java
/** * ??????Map????.<br>/* w ww . j a va2 s .c o m*/ * ??????null?<br> * * @param targetTableName ?? * @param pKeyConcatStr (?) * @return ? */ public List<Map<String, Object>> getDataList(String targetTableName, String pKeyConcatStr) throws Exception { List<Map<String, Object>> queryResult = null; try { // ? StringBuilder cacheKeyBuf = new StringBuilder(50); cacheKeyBuf.append(targetTableName).append(tableNameSep).append(pKeyConcatStr); Object cacheDataMap = dataCacheFolder.get(cacheKeyBuf.toString()); if (cacheDataMap != null) { if (cacheDataMap instanceof List) { return (List<Map<String, Object>>) cacheDataMap; } else if (cacheDataMap instanceof Map) { List<Map<String, Object>> cacheList = new ArrayList(); cacheList.add((Map<String, Object>) cacheDataMap); return cacheList; } } // ? List<String> primaryKeyColumnNames = getPrimaryKeyColumnNames(targetTableName); Map<String, Map<String, Object>> allColumnMeta = getAllColumnMeta(targetTableName, true); if (primaryKeyColumnNames == null || primaryKeyColumnNames.size() == 0) return null; // ? String[] keyStrSplit = pKeyConcatStr.split(primaryKeySep); // ?????????????? if (primaryKeyColumnNames.size() != keyStrSplit.length) return null; // ?? StringBuilder queryBuf = new StringBuilder(); queryBuf.append("select * from "); queryBuf.append(targetTableName); queryBuf.append(" where "); // ()? Object[] params = new Object[primaryKeyColumnNames.size()]; String whereSep = ""; for (int idx = 0; idx < primaryKeyColumnNames.size(); idx++) { Map<String, Object> meta = allColumnMeta.get(primaryKeyColumnNames.get(idx)); params[idx] = DbmfsUtil.deserializeType(keyStrSplit[idx], (String) meta.get("javaTypeName")); queryBuf.append(whereSep); queryBuf.append(primaryKeyColumnNames.get(idx)); queryBuf.append(" = ? "); whereSep = " and "; } ResultSetHandler<?> resultSetHandler = new MapListHandler(); QueryRunner qr = new QueryRunner(); // queryResult = (List<Map<String, Object>>) qr.query(injectConn, queryBuf.toString(), resultSetHandler, params); if (queryResult == null || queryResult.size() < 1) return null; // ????? String metaSerializeString = serializeMetaInfomation(allColumnMeta); for (Map resultData : queryResult) { resultData.put(tableMetaInfoKey, metaSerializeString); } dataCacheFolder.put(cacheKeyBuf.toString(), queryResult); } catch (Exception e) { e.printStackTrace(); throw e; } return queryResult; }
From source file:org.dbmfs.DatabaseAccessor.java
/** * ??Map????.<br>/*from w w w. j a va2 s . c o m*/ * ??????null?<br> * * @param targetTableName ?? * @param pKeyConcatStr (?) * @return ? */ public List<Map<String, Object>> getDataList(String query, List<String> primaryKeyColumnNames, String pKeyConcatStr) throws Exception { List<Map<String, Object>> queryResult = null; try { // ? String[] keyStrSplit = pKeyConcatStr.split(primaryKeySep); if (keyStrSplit.length != primaryKeyColumnNames.size()) return null; // ?? StringBuilder queryBuf = new StringBuilder(); queryBuf.append("select * from ("); queryBuf.append(query); queryBuf.append(") t1 where "); // ()? Object[] params = new Object[primaryKeyColumnNames.size()]; String whereSep = ""; // ???bindquery?????????String?? // (TODONo1)??select???? for (int idx = 0; idx < primaryKeyColumnNames.size(); idx++) { params[idx] = keyStrSplit[idx]; queryBuf.append(whereSep); queryBuf.append("t1."); queryBuf.append(primaryKeyColumnNames.get(idx)); queryBuf.append(" = ? "); whereSep = " and "; } ResultSetHandler<?> resultSetHandler = new MapListHandler(); QueryRunner qr = new QueryRunner(); // queryResult = (List<Map<String, Object>>) qr.query(injectConn, queryBuf.toString(), resultSetHandler, params); if (queryResult == null || queryResult.size() < 1) return null; for (Map resultData : queryResult) { resultData.put(tableMetaInfoKey, ""); } } catch (Exception e) { e.printStackTrace(); throw e; } return queryResult; }
From source file:org.dbmfs.DatabaseAccessor.java
/** * ????????.<br>/* w w w .ja va 2 s . c o m*/ * * @param tableName ?? * @return ?????? */ public List<String> getRecordKeyList(String tableName, int offset, int limit) throws Exception { List<String> resultList = new ArrayList(); try { // ? List<String> primaryKeyColumnNames = getPrimaryKeyColumnNames(tableName); // ???????? if (primaryKeyColumnNames.size() == 0) return resultList; // ??select??????? // TODO:??????????? // SQL?? String query = createAllColumnQuery(tableName, offset, limit); // String query = createPrimaryKeyQuery(tableName, primaryKeyColumnNames); ResultSetHandler<?> resultSetHandler = new MapListHandler(); QueryRunner qr = new QueryRunner(); // List<Map<String, Object>> queryResult = (List<Map<String, Object>>) qr.query(injectConn, query, resultSetHandler); // ????? Map<String, Map<String, Object>> allColumnMeta = getAllColumnMeta(tableName, true); String metaSerializeString = serializeMetaInfomation(allColumnMeta); // ?????? for (int idx = 0; idx < queryResult.size(); idx++) { Map data = queryResult.get(idx); StringBuilder queryDataStrBuf = new StringBuilder(40); String pKeyStrSep = ""; for (int pIdx = 0; pIdx < primaryKeyColumnNames.size(); pIdx++) { queryDataStrBuf.append(pKeyStrSep); queryDataStrBuf.append(data.get(primaryKeyColumnNames.get(pIdx))); pKeyStrSep = DatabaseAccessor.primaryKeySep; } data.put(tableMetaInfoKey, metaSerializeString); List cachePutList = new ArrayList(); cachePutList.add(data); dataCacheFolder.put(tableName + tableNameSep + queryDataStrBuf.toString(), cachePutList); resultList.add(queryDataStrBuf.toString()); } } catch (Exception e) { e.printStackTrace(); throw e; } return resultList; }
From source file:org.dbmfs.DatabaseAccessor.java
/** * ?????????????.<br>//from w w w . j a va 2s.co m * * @param query (Select?) * @param primaryKeyColumnNames ????? * @return ?????? */ public List<String> getRecordKeyList(String query, List<String> primaryKeyColumnNames, int offset, int limit) throws Exception { List<String> resultList = new ArrayList(); try { ResultSetHandler<?> resultSetHandler = new MapListHandler(); QueryRunner qr = new QueryRunner(); // ???limit offset String executeQuery = createAllColumnQuery("(" + query + ")", offset, limit); // List<Map<String, Object>> queryResult = (List<Map<String, Object>>) qr.query(injectConn, query, resultSetHandler); // ?????? for (int idx = 0; idx < queryResult.size(); idx++) { Map data = queryResult.get(idx); StringBuilder queryDataStrBuf = new StringBuilder(40); String pKeyStrSep = ""; for (int pIdx = 0; pIdx < primaryKeyColumnNames.size(); pIdx++) { queryDataStrBuf.append(pKeyStrSep); queryDataStrBuf.append(data.get(primaryKeyColumnNames.get(pIdx))); // TODO???data.get????queryprimaryKeyColumnNames.get(pIdx)??? // ?(TODONo1)?? pKeyStrSep = DatabaseAccessor.primaryKeySep; } /* List cachePutList = new ArrayList(); cachePutList.add(data); dataCacheFolder.put(tableName + tableNameSep + queryDataStrBuf.toString(), cachePutList);*/ resultList.add(queryDataStrBuf.toString()); } } catch (Exception e) { e.printStackTrace(); throw e; } return resultList; }
From source file:org.mule.module.db.integration.DbTestUtil.java
public static List<Map<String, String>> selectData(String query, DataSource dataSource) throws SQLException { QueryRunner qr = new QueryRunner(dataSource); @SuppressWarnings({ "unchecked" }) List<Map<String, String>> result = (List<Map<String, String>>) qr.query(query, new MapListHandler()); return result; }
From source file:org.openlogics.gears.jdbc.SelectTest.java
@Test public void testPlainQuery() { DataStore ds = new JdbcDataStore(basicDataSource); try {/*from ww w .j a va2 s .c om*/ List<Map<String, Object>> list = ds.select( new Query("select * from FOO where FOO_id between ? AND ? ", 1, 3), new MapListHandler()); assertEquals(3, list.size()); } catch (SQLException e) { e.printStackTrace(); } }