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

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

Introduction

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

Prototype

ResultSetExtractor

Source Link

Usage

From source file:com.butler.service.ProductDao.java

public InputStream getImage(String product) {
    String sql = "select pic from product where name='" + product + "'";
    return (InputStream) this.getJdbcTemplate().query(sql, new ResultSetExtractor() {
        public Object extractData(ResultSet rs) throws SQLException, DataAccessException {
            rs.next();/*w ww. jav a2  s  .c om*/
            Blob imageBlob = rs.getBlob("pic");
            InputStream binaryStream = imageBlob.getBinaryStream(1, imageBlob.length());
            return binaryStream;
        }
    });

}

From source file:de.whs.poodle.repositories.ImageRepository.java

public void writeImageToHttpResponse(int imageId, HttpServletResponse response) {
    jdbc.query("SELECT mimetype,data FROM uploaded_image WHERE id = ?", new Object[] { imageId },

            // use ResultSetExtractor so we can check whether a row even existed (NotFoundException)
            new ResultSetExtractor<Void>() {

                @Override//from www  .j  a v  a 2 s.c om
                public Void extractData(ResultSet rs) throws SQLException {
                    if (!rs.next()) // image doesn't exist
                        throw new NotFoundException();

                    String mimeType = rs.getString("mimetype");
                    response.setContentType(mimeType);

                    // write input stream from DB into http response
                    try (InputStream in = rs.getBinaryStream("data");
                            OutputStream out = response.getOutputStream();) {
                        StreamUtils.copy(in, out);
                        response.flushBuffer();
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }

                    return null;
                }

            });
}

From source file:de.whs.poodle.repositories.CourseStatisticsRepository.java

public Map<LocalDate, TotalCourseTermStatistics> getDailyStatisticsForCourseTerm(int courseTermId) {
    return jdbc.query("SELECT * FROM get_daily_course_term_statistics(?)", new Object[] { courseTermId },

            new ResultSetExtractor<Map<LocalDate, TotalCourseTermStatistics>>() {

                @Override//from  w w w  .  j  a v a  2s.co m
                public Map<LocalDate, TotalCourseTermStatistics> extractData(ResultSet rs) throws SQLException {
                    Map<LocalDate, TotalCourseTermStatistics> map = new LinkedHashMap<>();
                    CourseTermStatisticsRowMapper rowMapper = new CourseTermStatisticsRowMapper();

                    while (rs.next()) {
                        TotalCourseTermStatistics ct = rowMapper.mapRow(rs, 0);
                        LocalDate day = rs.getDate("day").toLocalDate();
                        map.put(day, ct);
                    }

                    return map;
                }

            });
}

From source file:com.ineunet.knife.persist.PersistUtils.java

public static boolean existsTable(final String tableName, JdbcTemplate jdbcTemplate) {
    return jdbcTemplate.query("show tables", new ResultSetExtractor<Boolean>() {
        @Override/*  w  w w . j  av a 2  s.  c  om*/
        public Boolean extractData(ResultSet rs) throws SQLException, DataAccessException {
            while (rs.next()) {
                String tableNameOther = rs.getString(1);
                if (tableName.equalsIgnoreCase(tableNameOther))
                    return true;
            }
            return false;
        }
    });
}

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

@Test
public void storeNew() {
    ConsumptionDatum datum = new ConsumptionDatum(TEST_SOURCE_ID, TEST_AMPS, TEST_VOLTS);
    datum.setCreated(new Date());
    datum.setWattHourReading(TEST_WATT_HOUR_READING);

    dao.storeDatum(datum);/*w w w .  ja va 2 s . c o m*/

    jdbcOps.query(SQL_GET_BY_ID,
            new Object[] { new java.sql.Timestamp(datum.getCreated().getTime()), TEST_SOURCE_ID },
            new ResultSetExtractor<Object>() {

                @Override
                public Object extractData(ResultSet rs) throws SQLException, DataAccessException {
                    assertTrue("Must have one result", rs.next());

                    int col = 1;

                    String s = rs.getString(col++);
                    assertFalse(rs.wasNull());
                    assertEquals(TEST_SOURCE_ID, s);

                    rs.getTimestamp(col++);
                    assertFalse(rs.wasNull());

                    Float f = rs.getFloat(col++);
                    assertFalse(rs.wasNull());
                    assertEquals(TEST_VOLTS.doubleValue(), f.doubleValue(), 0.001);

                    f = rs.getFloat(col++);
                    assertFalse(rs.wasNull());
                    assertEquals(TEST_AMPS.doubleValue(), f.doubleValue(), 0.001);

                    Long l = rs.getLong(col++);
                    assertFalse(rs.wasNull());
                    assertEquals(TEST_WATT_HOUR_READING, l);

                    assertFalse("Must not have more than one result", rs.next());
                    return null;
                }

            });
}

From source file:com.havoc.hotel.admin.dao.impl.CommentsDAOImpl.java

@Override
public Comments getById(int commentsId) throws SQLException {
    return (Comments) jdbcTemplate.query(SQLConstant.COMMENTS_GETBYID, new Object[] { commentsId },
            new ResultSetExtractor<Comments>() {

                @Override//from ww w. j  a va2s  .  com
                public Comments extractData(ResultSet rs) throws SQLException, DataAccessException {
                    Comments comments = null;
                    if (rs.next()) {
                        comments = new Comments();
                        comments.setCommentsId(rs.getInt("comment_id"));
                        Customer customer = new Customer();
                        customer.setCustomerId(rs.getInt("customer_id"));
                        customer.setFirstName(rs.getString("first_name"));
                        customer.setLastName(rs.getString("last_name"));
                        comments.setCustomer(customer);
                        comments.setMessage(rs.getString("message"));

                    }
                    return comments;
                }
            });
}

From source file:org.bisen.blog.service.BlogService.java

@Transactional(readOnly = true)
public BlogUser findUser(String email) throws DataAccessException {
    String sql = create.select().from(DSL.tableByName("user")).where(DSL.fieldByName("email").eq(email))
            .getSQL();// w w w  .j  ava  2s. com
    JdbcTemplate template = new JdbcTemplate(dataSource);
    BlogUser user = template.query(sql, new Object[] { email }, new ResultSetExtractor<BlogUser>() {
        @Override
        public BlogUser extractData(ResultSet rs) throws SQLException, DataAccessException {
            return rs.next() ? new BlogUser(rs.getString("email"), rs.getString("full_name")) : null;
        }
    });
    return user;
}

From source file:com.sourcesense.ant.dbdep.task.dao.DbDepDao.java

private boolean existDependency(final DependencyDO dependency) {
    Boolean result = new Boolean(false);
    try {/*from  w  w  w  .  ja  va  2s. c om*/
        result = (Boolean) this.jdbcTemplate.query(psSelect, new PreparedStatementSetter() {
            public void setValues(java.sql.PreparedStatement ps) throws java.sql.SQLException {
                ps.setString(1, dependency.getProject());
                ps.setString(2, dependency.getEnvironment());
                ps.setString(3, dependency.getName());
                ps.setString(4, dependency.getVersion());
            };
        }, new ResultSetExtractor() {
            public Object extractData(ResultSet rs) throws SQLException, DataAccessException {
                if (rs != null && rs.next())
                    return new Boolean(true);
                else
                    return new Boolean(false);
            }
        });
    } catch (DataAccessException e) {
        log.error("Error during checking dependency on this query: " + "" + psSelect + " | dependency: "
                + dependency, e);
        throw new RuntimeException("Error during checking dependency on this query: " + "" + psSelect
                + " | dependency: " + dependency, e);
    }

    return result.booleanValue();
}

From source file:com.graphaware.importer.data.access.QueueDbDataReader.java

/**
 * {@inheritDoc}// www  .  j a v  a2s.c om
 */
@Override
public final void read(final String query, final String hint) {
    if (records != null) {
        throw new IllegalStateException("Previous reader hasn't been closed");
    }

    LOG.info("Start query: \n" + query);

    if (query.startsWith("alter")) {
        jdbcTemplate.execute(query);
        noMoreRecords = true;
        return;
    }

    records = new ArrayBlockingQueue<>(queueCapacity());

    new Thread(new Runnable() {
        @Override
        public void run() {
            Date d1 = Calendar.getInstance().getTime();

            try {
                jdbcTemplate.query(query, new ResultSetExtractor<Void>() {
                    @Override
                    public Void extractData(ResultSet rs) throws SQLException, DataAccessException {
                        ResultSetMetaData metaData = rs.getMetaData();
                        int colCount = metaData.getColumnCount();

                        while (rs.next()) {
                            Map<String, String> columns = new HashMap<>();
                            for (int i = 1; i <= colCount; i++) {
                                columns.put(metaData.getColumnLabel(i), rs.getString(i));
                            }
                            columns.put(ROW, String.valueOf(rs.getRow()));

                            try {
                                records.offer(columns, 1, TimeUnit.HOURS);
                            } catch (InterruptedException e) {
                                LOG.warn(
                                        "Was waiting for more than 1 hour to insert a record for processing, had to drop it");
                            }
                        }

                        return null;
                    }
                });
            } finally {
                noMoreRecords = true;
            }

            long diffInSeconds = TimeUnit.MILLISECONDS
                    .toSeconds(Calendar.getInstance().getTime().getTime() - d1.getTime());

            LOG.info("Finished querying for " + hint + " in " + diffInSeconds + " seconds");
        }
    }, "DB READER - " + hint).start();
}

From source file:com.sourcesense.maven.dbdep.plugin.dao.DbDependenciesDao.java

/**
 * /*  w  ww  .  j  av  a  2s.c om*/
 * @param dependency
 * @return TRUE if dependency exist
 */
private boolean existDependency(final DependencyDO dependency) {
    Boolean result = new Boolean(false);
    try {
        result = (Boolean) this.jdbcTemplate.query(psSelect, new PreparedStatementSetter() {
            public void setValues(java.sql.PreparedStatement ps) throws java.sql.SQLException {
                ps.setString(1, dependency.getProject());
                ps.setString(2, dependency.getEnvironment());
                ps.setString(3, dependency.getName());
                ps.setString(4, dependency.getVersion());
            };
        }, new ResultSetExtractor() {
            public Object extractData(ResultSet rs) throws SQLException, DataAccessException {
                if (rs != null && rs.next())
                    return new Boolean(true);
                else
                    return new Boolean(false);
            }
        });
    } catch (DataAccessException e) {
        log.error("Error during checking this dependency: " + dependency, e);
        throw new RuntimeException("Error during checking this dependency: " + dependency, e);
    }

    return result.booleanValue();
}