Patan
Patan

Reputation: 17873

The method query(String, ResultSetExtractor<T>) in the type JdbcTemplate is not applicable for the arguments (String, BeanPropertyRowMapper)

I have a compile problem which is strange. I am not able to fix this. The same peice of code works fine in another project

org.mockito.Mockito.when(jdbcTemplate.query(org.mockito.Matchers.anyString(), 
    org.mockito.Matchers.any(BeanPropertyRowMapper.class))).thenReturn(SOMELIST);

I am getting error as

The method query(String, ResultSetExtractor<T>) in the type JdbcTemplate is not applicable for the arguments (String, BeanPropertyRowMapper)

But When I do this, I do not get any error. But I am not expecting this.

BeanPropertyRowMapper<MyClass> mapper = 
    new BeanPropertyRowMapper<MyClass>(MyClass.class);
org.mockito.Mockito.when(jdbcTemplate.query(org.mockito.Matchers.anyString(), 
    mapper)).thenReturn(SOMELIST);

I am not sure if this is an Eclipse problem. Appreciate your help on this.

Upvotes: 2

Views: 10701

Answers (2)

Duncan Jones
Duncan Jones

Reputation: 69329

Since BeanPropertyRowMapper<T> is a generic interface, you should invoke any() like this:

Mockito.when(jdbcTemplate.query(Matchers.anyString(), 
    Matchers.<BeanPropertyRowMapper<MyClass>>any())).thenReturn(SOMELIST);

Upvotes: 5

snoopy
snoopy

Reputation: 44

Check for the dependency (spring jars) for version mismatch between projects

Upvotes: 0

Related Questions