Example usage for org.springframework.jdbc.core RowCallbackHandler RowCallbackHandler

List of usage examples for org.springframework.jdbc.core RowCallbackHandler RowCallbackHandler

Introduction

In this page you can find the example usage for org.springframework.jdbc.core RowCallbackHandler RowCallbackHandler.

Prototype

RowCallbackHandler

Source Link

Usage

From source file:com.hs.mail.imap.dao.MySqlSearchDao.java

private List<Long> query(UidToMsnMapper map, long mailboxID, String name, final String pattern) {
    if (StringUtils.isEmpty(pattern)) {
        String sql = SearchQuery.toQuery(mailboxID, name, true);
        return getJdbcTemplate().queryForList(sql, Long.class);
    } else {/*from  w w w  .  ja v a2s  . c om*/
        String sql = SearchQuery.toQuery(mailboxID, name, false);
        final List<Long> results = new ArrayList<Long>();
        getJdbcTemplate().query(sql, new RowCallbackHandler() {
            public void processRow(ResultSet rs) throws SQLException {
                // Stored header values are not decoded.
                String value = DecoderUtil.decodeEncodedWords(rs.getString(2));
                if (StringUtils.contains(value, pattern)) {
                    results.add(rs.getLong(1));
                }
            }
        });
        return results;
    }
}

From source file:com.bt.sdk.callcontrol.demo.standup.ConferenceRowCallbackHandler.java

private List<String> getParticipants(String conferenceName) {
    final List<String> result = new ArrayList<String>();
    Object[] args = new Object[] { conferenceName };
    RowCallbackHandler rowCallbackHandler = new RowCallbackHandler() {
        public void processRow(ResultSet arg0) throws SQLException {
            result.add(arg0.getString("telno"));
        }/*from w  w  w .java 2s  .  co m*/
    };
    this.jdbcTemplate.query(SELECT, args, rowCallbackHandler);
    return result;
}

From source file:io.lavagna.service.UserRepository.java

public Map<String, Integer> findUsersId(List<String> users) {

    List<String[]> usersToFind = new ArrayList<>(users.size());
    for (String user : users) {
        String[] splittedString = StringUtils.split(user, ':');
        if (splittedString.length > 1) {
            String provider = splittedString[0];
            String username = StringUtils.join(ArrayUtils.subarray(splittedString, 1, splittedString.length),
                    ':');
            usersToFind.add(new String[] { provider, username });
        }//  www .  java  2  s  . c  o  m
    }

    if (usersToFind.isEmpty()) {
        return Collections.emptyMap();
    }

    final Map<String, Integer> res = new HashMap<>();
    MapSqlParameterSource param = new MapSqlParameterSource("users", usersToFind);

    jdbc.query(queries.findUsersId(), param, new RowCallbackHandler() {
        @Override
        public void processRow(ResultSet rs) throws SQLException {
            res.put(rs.getString("PROVIDER_USER"), rs.getInt("USER_ID"));
        }
    });

    return res;
}

From source file:com.mvdb.etl.dao.impl.JdbcGenericDAO.java

@Override
public DataHeader fetchAll2(File snapshotDirectory, Timestamp modifiedAfter, String objectName,
        final String keyName, final String updateTimeColumnName) {
    File objectFile = new File(snapshotDirectory, "data-" + objectName + ".dat");
    final GenericConsumer genericConsumer = new SequenceFileConsumer(objectFile);
    final DataHeader dataHeader = new DataHeader();

    String sql = "SELECT * FROM " + objectName + " o where o.update_time >= ?";

    getJdbcTemplate().query(sql, new Object[] { modifiedAfter }, new RowCallbackHandler() {

        @Override/* www.  j  a v a  2s  . c o m*/
        public void processRow(ResultSet row) throws SQLException {
            final Map<String, Object> dataMap = new HashMap<String, Object>();
            ResultSetMetaData rsm = row.getMetaData();
            int columnCount = rsm.getColumnCount();
            for (int column = 1; column < (columnCount + 1); column++) {
                dataMap.put(rsm.getColumnName(column), row.getObject(rsm.getColumnLabel(column)));
            }

            DataRecord dataRecord = new GenericDataRecord(dataMap, keyName, globalMvdbKeyMaker,
                    updateTimeColumnName, new GlobalMvdbUpdateTimeMaker());
            genericConsumer.consume(dataRecord);
            dataHeader.incrementCount();

        }
    });

    genericConsumer.flushAndClose();

    writeDataHeader(dataHeader, objectName, snapshotDirectory);
    return dataHeader;
}

From source file:com.oracle2hsqldb.dialect.GenericDialect.java

public Iterator getPrimaryKeys(DataSource dataSource, final String schemaName) {
    final Map byTableName = new HashMap();
    MetaDataJdbcTemplate template = new MetaDataJdbcTemplate(dataSource) {
        protected ResultSet getResults(DatabaseMetaData metaData) throws SQLException {
            return metaData.getPrimaryKeys(null, schemaName, null);
        }//www  .j a v  a 2  s .  c  o m
    };
    template.query(new RowCallbackHandler() {
        public void processRow(ResultSet primaryKeys) throws SQLException {
            String tableName = primaryKeys.getString("TABLE_NAME");
            if (!byTableName.containsKey(tableName)) {
                byTableName.put(tableName, new PrimaryKey.Spec(tableName, primaryKeys.getString("PK_NAME")));
            }
            ((PrimaryKey.Spec) byTableName.get(tableName)).addColumnName(primaryKeys.getString("COLUMN_NAME"));
        }
    });
    return byTableName.values().iterator();
}

From source file:com.mvdb.etl.dao.impl.JdbcOrderDAO.java

@Override
public void findAll(Timestamp modifiedAfter, final Consumer consumer) {
    String sql = "SELECT * FROM ORDERS where orders.update_time >= ?";

    getJdbcTemplate().query(sql, new Object[] { modifiedAfter }, new RowCallbackHandler() {

        @Override/*from w w w.  ja v  a2 s.c  om*/
        public void processRow(ResultSet row) throws SQLException {

            Order order = new Order();
            order.setOrderId(row.getLong("order_id"));
            order.setNote(row.getString("note"));
            order.setSaleCode(row.getInt("sale_code"));

            Date createTime = new java.util.Date(row.getTimestamp("create_time").getTime());
            order.setCreateTime(createTime);
            Date updateTime = new java.util.Date(row.getTimestamp("update_time").getTime());
            order.setUpdateTime(updateTime);

            consumer.consume(order);
        }
    });
}

From source file:net.solarnetwork.node.dao.jdbc.test.PreparedStatementCsvReaderTests.java

@Test
public void importTable() throws Exception {
    final String tableName = "SOLARNODE.TEST_CSV_IO";
    executeSqlScript("net/solarnetwork/node/dao/jdbc/test/csv-data-01.sql", false);
    importData(tableName);/*from w w w  .j a  v a 2s.  co  m*/
    final MutableInt row = new MutableInt(0);
    final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
    final Calendar utcCalendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
    jdbcTemplate.query(new PreparedStatementCreator() {

        @Override
        public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
            // TODO Auto-generated method stub
            return con.prepareStatement("select PK,STR,INUM,DNUM,TS from solarnode.test_csv_io order by pk");
        }
    }, new RowCallbackHandler() {

        @Override
        public void processRow(ResultSet rs) throws SQLException {
            row.increment();
            final int i = row.intValue();
            assertEquals("PK " + i, i, rs.getLong(1));
            if (i == 2) {
                assertNull("STR " + i, rs.getString(2));
            } else {
                assertEquals("STR " + i, "s0" + i, rs.getString(2));
            }
            if (i == 3) {
                assertNull("INUM " + i, rs.getObject(3));
            } else {
                assertEquals("INUM " + i, i, rs.getInt(3));
            }
            if (i == 4) {
                assertNull("DNUM " + i, rs.getObject(4));
            } else {
                assertEquals("DNUM " + i, i, rs.getDouble(4), 0.01);
            }
            if (i == 5) {
                assertNull("TS " + i, rs.getObject(5));
            } else {
                Timestamp ts = rs.getTimestamp(5, utcCalendar);
                try {
                    assertEquals("TS " + i, sdf.parse("2016-10-0" + i + "T12:01:02.345Z"), ts);
                } catch (ParseException e) {
                    // should not get here
                }
            }
        }
    });
    assertEquals("Imported count", 5, row.intValue());
}

From source file:com.oracle2hsqldb.dialect.GenericDialect.java

public Iterator getUniqueKeys(DataSource dataSource, final String schemaName) {
    final List result = new LinkedList();
    MetaDataJdbcTemplate template = new MetaDataJdbcTemplate(dataSource) {
        protected ResultSet getResults(DatabaseMetaData metaData) throws SQLException {
            return metaData.getIndexInfo(null, schemaName, null, true, true);
        }//from   w  w w.  ja v a2  s  .com
    };
    template.query(new RowCallbackHandler() {
        public void processRow(ResultSet uniqueIndexes) throws SQLException {
            boolean isNonUnique = uniqueIndexes.getBoolean("NON_UNIQUE");
            if (!isNonUnique) {
                String columnName = uniqueIndexes.getString("COLUMN_NAME");
                String constraintName = uniqueIndexes.getString("INDEX_NAME");
                String tableName = uniqueIndexes.getString("TABLE_NAME");

                result.add(new UniqueConstraint.Spec(tableName, columnName, constraintName));
            }
        }
    });
    return result.iterator();
}