List of usage examples for org.springframework.jdbc.core RowCallbackHandler RowCallbackHandler
RowCallbackHandler
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(); }