자바 가 JdbcTemplate 의 query ForList 를 사용 하 는 중 오류 해결 방법 이 발생 했 습 니 다.

자바 가 JdbcTemplate 의 query ForList 를 사용 하 는 중 오류 해결 방법 이 발생 했 습 니 다.
         개발 프로젝트 에서 JdbcTemplate 의 query ForList 에 오류 가 발생 하여 골 치가 아 픕 니 다.인터넷 에서 관련 자 료 를 찾 아 해결 할 수 있 습 니 다.여기 기록 되 어 있 습 니 다.
1.문제 설명: 
검색 시 JdbcTemplate 의 query ForList 를 사용 하 는 중 오류 가 발생 했 습 니 다.다음 과 같 습 니 다. 
조회 방법 은 다음 과 같다.

jdbcTemplate.queryForList(selectSql.toString(), entityClass) 
sql 조회:

select * from test where 1=1 order by create_time desc limit 0,10 
오 류 는 다음 과 같 습 니 다:

Incorrect column count: expected 1, actual 5 
2.해결 방안:
1.위 에서 잘못된 이 유 는 조회 가 되 돌아 오 는 결과 열 이 1 이 기 대 했 지만 실제 되 돌아 오 는 것 은 5 열 입 니 다.test 표 에 5 개의 필드 가 있 기 때문에 5 열 로 되 돌아 갑 니 다.이 방법의 매개 변 수 는 다음 과 같다.

Parameters: 
sql SQL query to execute 
elementType the required type of element in the result list (for example, Integer.class) 
 바로 두 번 째 매개 변 수 는 인터넷 에서 간단 한 유형의 String 이나 Integer 만 말 할 수 있다. 
2.query 조회 사용

jdbcTemplate.query(selectSql.toString(), rowMapper) 
 그러나 인자 rowMapper 가 하나 더 생 겼 습 니 다.이 매개 변 수 는 다음 과 같이 정의 해 야 합 니 다.

@SuppressWarnings("unused") 
  private BeanPropertyRowMapper<T> rowMapper = new BeanPropertyRowMapper<T>(entityClass){  
    @Override  
    protected void initBeanWrapper(BeanWrapper bw) {  
      super.initBeanWrapper(bw);  
    }  
  };  
구체 적 인 역할 은 검색 결과 에 들 어가 실체 로 전환 하 는 것 이다. 
이 정도 면 문 제 를 해결 할 수 있다.
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기