hi I am implementing rest services using spring 3 and also for data fetching using jdbctemplate.
Currently i have to fetch a record from customer table based upon a customer id passed.
For same i have used : jdbcTemplate.query(SqlQueries.SQL_SELECT_CUSTOMER_ BY_TOKEN, new Object[]{customerToken}, new CustomerExtractor());
CustomerExtractor is a private class implementing ResultSetExtractor
code snippet:
private class CustomerExtractor implements ResultSetExtractor<Customer> {
@Override
public Customer extractData(ResultSet rs) throws SQLException,
DataAccessException {
Customer customer = null;
if(rs.next()){
customer = new Customer();
//populate customer
}
return customer;
}
PS - customer with provided id may or may not exist.
Here when I access rest service using web browser , i don;t get valid customer even if customer id sent as pathVariable is correct.
Upon debugging i found that debug pointer does not go inside the if(rs.next()){} block
There is nothing wrong in query it works fine in mysql workbench.
Also I implemented rest client using apacheHttpClient now when i used this
test class to test restservice i got valid response from service
Upon debugging i found that debug pointer goes inside the if(rs.next()){} block
kindly explain why there is such strange behaviour that when accessed via browser i don't get valid response and when tested via test class I get a valid response.