List of usage examples for org.springframework.jdbc.core RowCallbackHandler RowCallbackHandler
RowCallbackHandler
From source file:com.anyuan.thomweboss.persistence.jdbcimpl.user.UserDaoJdbcImpl.java
@Override public List<User> listAll() { // Connection conn = getConnection(); final List<User> listUser = new ArrayList<User>(); String sql = "select * from t_user"; getJdbcTemplate().query(sql, new RowCallbackHandler() { @Override//from w w w . j a va 2 s. c o m public void processRow(ResultSet rs) throws SQLException { listUser.clear(); User user = null; while (rs.next()) { user = new User(); user.setId(rs.getLong("f_id")); user.setUsername(rs.getString("f_username")); user.setNickname(rs.getString("f_nickname")); listUser.add(user); } // rs.close(); // , ResultSet ? } }); // try { // Statement state = conn.createStatement(); // ResultSet rs = state.executeQuery(sql); // listUser = new ArrayList<User>(); // User user = null; // while (rs.next()) { // System.out.println(rs.getString(3)); // user = new User(); // user.setId(rs.getLong("f_id")); // user.setUsername(rs.getString("f_username")); // user.setNickname(rs.getString("f_nickname")); // listUser.add(user); // // } // rs.close(); // } catch (SQLException e) { // e.printStackTrace(); // } finally { // try { // conn.close(); // } catch (SQLException e) { // e.printStackTrace(); // } // } return listUser; }
From source file:eionet.meta.dao.mysql.DataElementDAOImpl.java
/** * finds Common elements./* w ww . j a va 2 s . c o m*/ * * @param filter * search filter * @return list of data elements */ private List<DataElement> executeCommonElementQuery(final DataElementsFilter filter) { Map<String, Object> params = new HashMap<String, Object>(); StringBuilder sql = new StringBuilder(); sql.append( "select de.DATAELEM_ID, de.IDENTIFIER, de.SHORT_NAME, de.REG_STATUS, de.DATE, de.TYPE, de.WORKING_USER, "); sql.append("a.VALUE as NAME "); sql.append("from DATAELEM de "); sql.append("LEFT JOIN (ATTRIBUTE a, M_ATTRIBUTE ma) "); sql.append( "ON (de.DATAELEM_ID=a.DATAELEM_ID AND a.PARENT_TYPE='E' AND ma.M_ATTRIBUTE_ID=a.M_ATTRIBUTE_ID "); sql.append("and ma.SHORT_NAME='Name') "); sql.append("where "); sql.append("de.PARENT_NS is null "); sql.append("and de.WORKING_COPY = 'N' "); // Filter parameters if (StringUtils.isNotEmpty(filter.getRegStatus())) { sql.append("and de.REG_STATUS = :regStatus "); params.put("regStatus", filter.getRegStatus()); } if (StringUtils.isNotEmpty(filter.getType())) { sql.append("and de.TYPE = :type "); params.put("type", filter.getType()); } if (StringUtils.isNotEmpty(filter.getShortName())) { sql.append("and de.SHORT_NAME like :shortName "); params.put("shortName", "%" + filter.getShortName() + "%"); } if (StringUtils.isNotEmpty(filter.getIdentifier())) { sql.append("and de.IDENTIFIER like :identifier "); String like = "%"; if (filter.isExactIdentifierMatch()) { like = ""; } params.put("identifier", like + filter.getIdentifier() + like); } if (filter.isIncludeOnlyInternal()) { sql.append("and de.IDENTIFIER NOT like '%:%'"); } // attributes for (int i = 0; i < filter.getAttributes().size(); i++) { Attribute a = filter.getAttributes().get(i); String idKey = "attrId" + i; String valueKey = "attrValue" + i; if (StringUtils.isNotEmpty(a.getValue())) { sql.append("and "); sql.append("de.DATAELEM_ID in ( "); sql.append("select a.DATAELEM_ID from ATTRIBUTE a WHERE "); sql.append("a.M_ATTRIBUTE_ID = :" + idKey + " AND a.VALUE like :" + valueKey + " AND a.PARENT_TYPE = :parentType "); sql.append(") "); } params.put(idKey, a.getId()); String value = "%" + a.getValue() + "%"; params.put(valueKey, value); params.put("parentType", DElemAttribute.ParentType.ELEMENT.toString()); } sql.append("order by de.IDENTIFIER asc, de.DATAELEM_ID desc"); // LOGGER.debug("SQL: " + sql.toString()); final List<DataElement> dataElements = new ArrayList<DataElement>(); getNamedParameterJdbcTemplate().query(sql.toString(), params, new RowCallbackHandler() { DataElement de; String curElmIdf; @Override public void processRow(ResultSet rs) throws SQLException { // int elmID = rs.getInt("de.DATAELEM_ID"); String elmIdf = rs.getString("de.IDENTIFIER"); // skip non-existing elements, ie trash from some erroneous situation if (elmIdf == null) { return; } // the following if block skips non-latest if (curElmIdf != null && elmIdf.equals(curElmIdf)) { if (!filter.isIncludeHistoricVersions()) { return; } } else { curElmIdf = elmIdf; } de = new DataElement(); de.setId(rs.getInt("de.DATAELEM_ID")); de.setShortName(rs.getString("de.SHORT_NAME")); de.setStatus(rs.getString("de.REG_STATUS")); de.setType(rs.getString("de.TYPE")); de.setModified(new Date(rs.getLong("de.DATE"))); de.setWorkingUser(rs.getString("de.WORKING_USER")); de.setIdentifier(rs.getString("de.IDENTIFIER")); de.setName(rs.getString("NAME")); dataElements.add(de); } }); return dataElements; }
From source file:data.DefaultExchanger.java
public void exportData(String dbName, String catalogName, final JsonGenerator generator, JdbcTemplate jdbcTemplate) throws IOException { generator.writeFieldName(getTable()); generator.writeStartArray();/*from www . j av a 2 s .co m*/ final int[] rowCount = { 0 }; jdbcTemplate.query(getSelectSql(), new RowCallbackHandler() { @Override public void processRow(ResultSet rs) throws SQLException { try { generator.writeStartObject(); setNode(generator, rs); generator.writeEndObject(); rowCount[0]++; } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } } }); generator.writeEndArray(); play.Logger.info("exported {{}} {}", rowCount[0], getTable()); if (hasSequence()) { String sequenceName = sequenceName(); long sequenceValue = 0; if (dbName.equalsIgnoreCase("MySQL")) { String sql = String.format("SELECT `AUTO_INCREMENT` FROM INFORMATION_SCHEMA.TABLES " + "WHERE TABLE_SCHEMA = '%s' AND TABLE_NAME = '%s'", catalogName, getTable()); sequenceValue = jdbcTemplate.queryForObject(sql, Long.class); } else if (dbName.equalsIgnoreCase("H2")) { sequenceValue = jdbcTemplate.queryForObject("CALL NEXT VALUE FOR " + sequenceName, Long.class); } generator.writeFieldName(sequenceName); generator.writeNumber(sequenceValue); play.Logger.info("exported sequence {{}}", sequenceName()); } }
From source file:org.string_db.jdbc.Postgres2HSQLDB.java
void dumpIndices(String schema, String table, final StringBuilder result) { /**/*from w w w . j a v a 2 s . c o m*/ index metadata be obtained from jdbc connection: <pre> final DataSource dataSource = ctx.getBean(DataSource.class); final Jdbc4Connection connection = (Jdbc4Connection) dataSource.getConnection(); final DatabaseMetaData metaData = connection.getMetaData(); final ResultSet indexInfo = metaData.getIndexInfo(connection.getCatalog(), "items", "proteins", false, false); while(indexInfo.next()) { for (int i = 0; i < indexInfo.getMetaData().getColumnCount(); i++) { System.out.println(indexInfo.getObject(i + 1)); } } </pre> * */ jdbcTemplate.query(selectIndexDef, new Object[] { schema, table }, new RowCallbackHandler() { @Override public void processRow(ResultSet rs) throws SQLException { String def = rs.getString(1); if (def.contains("USING gist")) { //skip GIST.. return; } if (def.contains("varchar_pattern_ops")) { //not supported by hsqldb return; } if (def.contains("(upper(") || def.contains("(lower(")) { return; } result.append(def.replace("USING btree", "")).append(";\n"); } }); }
From source file:uk.org.rbc1b.roms.db.reference.JDBCReferenceDao.java
private Map<Integer, String> findReferenceIdValues(String sql) { final Map<Integer, String> resultMap = new LinkedHashMap<Integer, String>(); this.jdbcTemplate.query(sql, new RowCallbackHandler() { @Override// w w w. ja va2 s .c om public void processRow(ResultSet rs) throws SQLException { resultMap.put(rs.getInt("id"), rs.getString("value")); } }); return resultMap; }
From source file:com.oracle2hsqldb.dialect.Oracle9Dialect.java
/** * Superclass's implementation does not work. Seems that the Oracle 9i driver does not support DatabaseMetaData.getPrimaryKeys() well. *//*from w ww . j a v a 2 s. co m*/ public Iterator getPrimaryKeys(DataSource dataSource, String schemaName) { final Map byTableName = new HashMap(); new JdbcTemplate(dataSource).query("SELECT ucc.column_name, ucc.constraint_name, ucc.table_name " + "FROM user_constraints uc INNER JOIN user_cons_columns ucc ON ucc.constraint_name=uc.constraint_name " + "WHERE uc.constraint_type='P'", new RowCallbackHandler() { public void processRow(ResultSet columns) throws SQLException { if (log.isDebugEnabled()) log.debug("Reading primary key:column " + columns.getString("CONSTRAINT_NAME") + ":" + columns.getString("COLUMN_NAME")); String tableName = columns.getString("TABLE_NAME"); if (!byTableName.containsKey(tableName)) { byTableName.put(tableName, new PrimaryKey.Spec(tableName, columns.getString("CONSTRAINT_NAME"))); } ((PrimaryKey.Spec) byTableName.get(tableName)) .addColumnName(columns.getString("COLUMN_NAME")); } }); return byTableName.values().iterator(); }
From source file:com.pactera.edg.am.metamanager.extractor.dao.impl.MetaModelDaoImpl.java
public void genAttrs(MMMetaModel metaModel) { String sql = super.getSql("QUERY_METAMODEL_ATTRS"); final Map<String, String> mAttrs = new HashMap<String, String>(); super.getJdbcTemplate().query(sql, new Object[] { metaModel.getCode() }, new RowCallbackHandler() { public void processRow(ResultSet rs) throws SQLException { mAttrs.put(rs.getString("ATT_CODE"), rs.getString("ATT_STORE")); }/* ww w. j a v a 2 s.co m*/ }); metaModel.setMAttrs(mAttrs); }
From source file:eionet.meta.dao.mysql.TableDAOImpl.java
/** * {@inheritDoc}// w ww .j a v a 2 s. c o m */ @Override public List<DataSetTable> listForDatasets(List<DataSet> datasets) { StringBuilder sql = new StringBuilder(); int nameAttrId = getNameAttributeId(); Map<String, Object> params = new HashMap<String, Object>(); params.put("nameAttrId", nameAttrId); params.put("parentType", "T"); sql.append( "select dst.TABLE_ID, dst.SHORT_NAME, ds.REG_STATUS, dst.IDENTIFIER, ds.IDENTIFIER, ds.DATASET_ID, "); sql.append( "(select VALUE from ATTRIBUTE where M_ATTRIBUTE_ID = :nameAttrId and DATAELEM_ID = dst.TABLE_ID "); sql.append("and PARENT_TYPE = :parentType limit 1 ) as fullName "); sql.append("from DS_TABLE as dst "); sql.append("inner join DST2TBL as dst2ds on dst2ds.TABLE_ID = dst.TABLE_ID "); sql.append("inner join DATASET as ds on dst2ds.DATASET_ID = ds.DATASET_ID "); sql.append("where ds.DELETED is null "); sql.append("and ds.WORKING_COPY = 'N' "); //set dataset filters if (datasets != null && datasets.size() > 0) { sql.append("and ds.DATASET_ID IN( :datasetIds ) "); params.put("datasetIds", CollectionUtils.collect(datasets, new BeanToPropertyValueTransformer("id"))); } sql.append("order by ds.IDENTIFIER asc, ds.DATASET_ID desc, dst.IDENTIFIER asc, dst.TABLE_ID desc"); final List<DataSetTable> resultList = new ArrayList<DataSetTable>(); getNamedParameterJdbcTemplate().query(sql.toString(), params, new RowCallbackHandler() { @Override public void processRow(ResultSet rs) throws SQLException { DataSetTable table = new DataSetTable(); table.setId(rs.getInt("dst.TABLE_ID")); table.setShortName(rs.getString("dst.SHORT_NAME")); table.setName(rs.getString("fullName")); table.setDataSetStatus(rs.getString("ds.REG_STATUS")); // skip tables that do not actually exist (ie trash from some erroneous situation) if (StringUtils.isEmpty(rs.getString("dst.IDENTIFIER"))) { return; } table.setIdentifier(rs.getString("dst.IDENTIFIER")); resultList.add(table); } }); return resultList; }
From source file:uk.org.rbc1b.roms.db.reference.JDBCReferenceDao.java
private Map<String, String> findReferenceCodeValues(String sql) { final Map<String, String> resultMap = new LinkedHashMap<String, String>(); this.jdbcTemplate.query(sql, new RowCallbackHandler() { @Override//from www .ja v a 2 s .c o m public void processRow(ResultSet rs) throws SQLException { resultMap.put(rs.getString("code"), rs.getString("value")); } }); return resultMap; }
From source file:org.brickhouse.impl.SqlTable.java
@Override public int deleteAll(final Filter filter) { final MutableInt count = new MutableInt(); jt.query(select, new RowCallbackHandler() { @Override//from ww w.ja v a 2 s.c o m public void processRow(ResultSet rs) throws SQLException { HMap map = toMap(rs.getString(1)); if (filter.include(map, pather)) count.add(jt.update(delete, map.id().getId())); } }); for (TableListener l : listeners) l.deleteAll(filter, count.intValue()); return count.intValue(); }