Announcement Announcement Module
No announcement yet.
Resultset Metadata from JDBCTemplate Query methods Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Resultset Metadata from JDBCTemplate Query methods

    Is there any way I can get resultset object from one of jdbctemplate query methods?

    I have a code like

    List<ResultSet> rsList = template.query(finalQuery, new RowMapper<ResultSet>() {
                public ResultSet mapRow(ResultSet rs, int rowNum) throws SQLException {
                    return rs;
    I wanted to execute my sql statement stored in finalQuery String and get the resultset. The query is a complex join on 6 to 7 tables and I am select 4-5 columns from each table and wanted to get the metadata of those columns to transform data types and data to downstream systems.

    If it is a simple query and I am fetching form only one table I can use RowMapper#mapRow and inside that maprow method i can call ResultsetExtractor.extractData to get list of results; but in this case I have complex joins in my query and I am trying to get resultset Object and from that resultset metadata...

    The above code is not good because for each result it will return same resultset object and I dont want to store them in list ...

    Once more thing is if maprow is called for each result from my query will JDBCTemplate close the rs and connection even though my list has reference to RS object?

    Is there any simple method like jdbcTemplate.queryForResultSet(sql) ?

  • #2
    even I want to know this...plz someone help us out


    • #3
      See this..

      This is a custom soltuion for my problem but you can write your Own Resultset extractor by implementing ResultSetExtractor and form there you can play with your resultset Object...

      something like

      public class CustomResultSetProcessor implements ResultSetExtractor<Object>
          public Object extractData(ResultSet rs)
            // Here play with your Rs or simply return RS