복붙노트

[SPRING] JdbcTemplate 형식의 메서드 쿼리 (String, ResultSetExtractor <T>)는 인수 (String, BeanPropertyRowMapper)에 적용 할 수 없습니다.

SPRING

JdbcTemplate 형식의 메서드 쿼리 (String, ResultSetExtractor )는 인수 (String, BeanPropertyRowMapper)에 적용 할 수 없습니다.

나는 이상한 컴파일 문제가있다. 나는 이것을 고칠 수 없다. 동일한 코드 조각이 다른 프로젝트에서 제대로 작동합니다.

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

오류가 발생했습니다.

하지만이 일을 할 때 어떤 오류도 발생하지 않습니다. 그러나 나는 이것을 기대하지 않는다.

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

이것이 Eclipse 문제인지 확실하지 않습니다. 이것에 대한 당신의 도움을 감사하십시오.

해결법

  1. ==============================

    1.BeanPropertyRowMapper 는 제네릭 인터페이스이므로 다음과 같이 any ()를 호출해야합니다.

    BeanPropertyRowMapper 는 제네릭 인터페이스이므로 다음과 같이 any ()를 호출해야합니다.

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

    2.프로젝트 간 버전 불일치에 대한 종속성 (spring jars) 확인

    프로젝트 간 버전 불일치에 대한 종속성 (spring jars) 확인

  3. from https://stackoverflow.com/questions/26020607/the-method-querystring-resultsetextractort-in-the-type-jdbctemplate-is-not by cc-by-sa and MIT license